Quartz: a tool for tuning parallel program performance
- 1 April 1990
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGMETRICS Performance Evaluation Review
- Vol. 18 (1) , 115-125
- https://doi.org/10.1145/98460.98518
Abstract
Initial implementations of parallel programs typically yield disappointing performance. Tuning to improve performance is thus a significant part of the parallel programming process. The effort required to tune a parallel program, and the level of performance that eventually is achieved, both depend heavily on the quality of the instrumentation that is available to the programmer. This paper describes Quartz, a new tool for tuning parallel program performance on shared memory multiprocessors. The philosophy underlying Quartz was inspired by that of the sequential UNIX tool gprof: to appropriately direct the attention of the programmer by efficiently measuring just those factors that are most responsible for performance and by relating these metrics to one another and to the structure of the program. This philosophy is even more important in the parallel domain than in the sequential domain, because of the dramatically greater number of possible metrics and the dramatically increased complexity of program structures. The principal metric of Quartz is normalized processor time : the total processor time spent in each section of code divided by the number of other processors that are concurrently busy when that section of code is being executed. Tied to the logical structure of the program, this metric provides a “smoking gun” pointing towards those areas of the program most responsible for poor performance. This information can be acquired efficiently by checkpointing to memory the number of busy processors and the state of each processor, and then statistically sampling these using a dedicated processor. In addition to describing the design rationale, functionality, and implementation of Quartz, the paper examines how Quartz would be used to solve a number of performance problems that have been reported as being frequently encountered, and describes a case study in which Quartz was used to significantly improve the performance of a CAD circuit verifier.Keywords
This publication has 11 references indexed in Scilit:
- The performance implications of thread management alternatives for shared-memory multiprocessorsIEEE Transactions on Computers, 1989
- Performance-measurement tools in a multiprocessor environmentIEEE Transactions on Computers, 1989
- The fuzzy barrier: a mechanism for high speed synchronization of processorsPublished by Association for Computing Machinery (ACM) ,1989
- An integrated approach to parallel program debugging and performance analysis onlarge-scale multiprocessorsPublished by Association for Computing Machinery (ACM) ,1988
- PRESTO: A system for object‐oriented parallel programmingSoftware: Practice and Experience, 1988
- Non-intrusive and interactive profiling in parasightPublished by Association for Computing Machinery (ACM) ,1988
- Monit: a performance monitoring tool for parallel and pseudo-parallel programsPublished by Association for Computing Machinery (ACM) ,1987
- Logic verification algorithms and their parallel implementationPublished by Association for Computing Machinery (ACM) ,1987
- An assessment of multilisp: Lessons from experienceInternational Journal of Parallel Programming, 1986
- GprofPublished by Association for Computing Machinery (ACM) ,1982