Lizy K. John Craig M. Chase The University of Texas at Austin
Experimental Software Systems: Performance Impact of Contemporary Programming Paradigms and Workloads
The primary objective of this project is to characterize several contemporary programming paradigms, including object-oriented computing and networked computing. This study investigates why contemporary programs (developed in C++, Java, etc.) tend to run slower than traditionally developed (e.g., Fortran and C) programs. For example, when the same application is written in an object-oriented fashion and also constructed in a traditional procedural style, the object-oriented version is known to consume more memory, exhibit worse cache behavior, and to have less predictable branch behavior. This research attempts to isolate these effects and trace them to specific elements of the object oriented programming style. The principal benefit of this study is the collection of knowledge concerning how microprocessors should be designed in the future. Design decisions and engineering tradeoffs in microprocessors are often based on assumptions made about the types of programs that these processors will execute. However, detailed and accurate program characterization, such as those in this project, allows processor designers to make intelligent and informed engineering decisions.