Vertical profiling: understanding the behavior of object-oriented applications

Vertical profiling: understanding the behavior of object-oriented applications
Related tools & artifacts:
Conference Paper: OOPSLA'04, October, 2004

Object-oriented programming languages provide a rich set of features that provide significant software engineering benefits. The increased productivity provided by these features comes at a justifiable cost in a more sophisticated runtime system whose responsibility is to implement these features efficiently. However, the virtualization introduced by this sophistication provides a significant challenge to understanding complete system performance, not found in traditionally compiled languages, such as C or C++. Thus, understanding system performance of such a system requires profiling that spans all levels of the execution stack, such as the hardware, operating system, virtual machine, and application.

In this work, we suggest an approach, called vertical profiling, that enables this level of understanding. We illustrate the efficacy of this approach by providing deep understandings of performance problems of Java applications run on a VM with vertical profiling support. By incorporating vertical profiling into a programming environment, the programmer will be able to understand how their program interacts with the underlying abstraction levels, such as application server, VM, operating system, and hardware.

@inproceedings{Hauswirth04, author = {Hauswirth, Matthias and Sweeney, Peter F. and Diwan, Amer and Hind, Michael}, title = {Vertical profiling: understanding the behavior of object-oriented applications}, booktitle = {Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications}, series = {OOPSLA '04}, year = {2004}, isbn = {1-58113-831-8}, location = {Vancouver, BC, Canada}, pages = {251--269}, numpages = {19}, url = {http://doi.acm.org/10.1145/1028976.1028998}, doi = {http://doi.acm.org/10.1145/1028976.1028998}, acmid = {1028998}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {hardware performance monitors, perturbation, software performance monitors, vertical profiling, whole-system analysis}, }

ACM DL Author-ize service