60 likes | 189 Views
Purdue University CS Dept. 40 th Anniversary Celebration Panel on the Future of Information Technology A Performance Engineering Perspective. Andre B. Bondi Director, System Performance Leapstone Systems, Inc. Somerset, NJ 08873. Main Points.
E N D
Purdue University CS Dept. 40th Anniversary Celebration Panel on the Future of Information TechnologyA Performance Engineering Perspective Andre B. Bondi Director, System Performance Leapstone Systems, Inc. Somerset, NJ 08873 A. B. Bondi, Leapstone Systems
Main Points • Basic concurrency control, system performance, and network performance issues identified in the 1970s and 1980s will recur in different and more obscure and complicated guises. • Middleware, programming environments, and commercial off-the-shelf software (COTS) that facilitate implementation will continue to cause well hidden performance problems. • The cost of usefully and usably instrumenting these new programming environments will continue to make the identification of resource bottlenecks difficult, especially when environments are combined. • But, the IT techniques used to consolidate organizational functions can also be used to consolidate performance data in multiple tiers, facilitating problem identification. A. B. Bondi, Leapstone Systems
Old Performance Issues Will Recur in Different Guises • 1970s: lack of memory partitions restricts CPU utilization (Latouche; Avi-Itzhak/Heyman). • 1980s: packet throughput in long fat pipes (hence bandwidth utilization) improves with large sliding windows (Varghese). • 2000s: a sufficient number of threads is needed to ensure adequate transaction throughput between tiers, and hence adequate CPU utilization (Reeser, van der Mei, et al). • App Server/JDBC Database; thread pool in JVM Need to ensure that basic knowledge is sustained when there is generational change. A. B. Bondi, Leapstone Systems
Performance Issues Arising with Multitier and Middleware Environments • Information hiding and a high degree of environmental support can be hazardous to performance. • Ex: Java garbage collection paralyses all threads in a JVM. Good use of multiprocessors makes this worse! Loss of control diminishes Java’s usefulness in a real-time environment such as a communication switch. • Optimal engineering at one layer may have an adverse impact at another layer. • Ex: TCP/IP congestion control did not work well over ATM. • Hidden scheduling rules and communications methods within a tier may induce difficult problems. • Communication between tiers may be constrained by passive resources (threads) while communications demand is increased by stateless interaction. A. B. Bondi, Leapstone Systems
Instrumentation and Organizational Issues • Reluctance to instrument resource usage unless/until we know which resources are critical. • Recognition of importance only comes with experience • “The performance issue is in the other layer.” • Data from many subsystems is unwieldy and hard to integrate • Consolidation of organizational functions in business processes is facilitated by IT • Similar methods should be used to consolidate performance and resource usage data from different systems and layers. A. B. Bondi, Leapstone Systems
Experience Base Can Facilitate the Identification of Performance Issues in New Technologies • To be done effectively, this has to be a priority in both the research and industrial environments. • Smith/Williams performance engineering work provides a basis for sound engineering; • Concept of performance anti-patterns (2000+) is an evolving taxonomy of design choices that hurt performance • Integrated instrumentation of systems for production measurements will improve the ability to do rapid sizing • Software measurement probes will become integral to the development environment A. B. Bondi, Leapstone Systems