Supporting Scalable Performance Monitoring and Analysis of Parallel Programs

Tools for performance monitoring and analysis become indispensable parts of programming environments for parallel computers. As the number of processors increases, the conventional techniques for monitoring the performance of parallel programs will produce large amounts of data in the form of event trace files. On the other hand, this wealth of information is a problem for the programmer who is forced to navigate through it, and for the tools that must store and process it. What makes this situation worse is that most of the time, a large amount of the data are irrelevant to understanding the performance of an application. In this paper, we present a new approach for collecting performance data. By tracing all the events but storing only the statistics of the performance, our approach can provide accurate and useful performance information yet require far less data to be stored. In addition, this approach also supports real-time performance monitoring.

[1]  C. E. Fineman,et al.  Selective monitoring using performance metric predicates , 1992, Proceedings Scalable High Performance Computing Conference SHPCC-92..

[2]  Jeffrey K. Hollingsworth,et al.  Finding bottlenecks in large scale parallel programs , 1995, Technical Report / University of Wisconsin, Madison / Computer Sciences Department.

[3]  K. Mani Chandy,et al.  Distributed Simulation: A Case Study in Design and Verification of Distributed Programs , 1979, IEEE Transactions on Software Engineering.

[4]  Winifred Williams,et al.  The MPP Apprentice™ Performance Tool: Delivering the Performance of the Cray T3D® , 1994 .

[5]  D.A. Reed,et al.  Scalable performance analysis: the Pablo performance analysis environment , 1993, Proceedings of Scalable Parallel Libraries Conference.

[6]  Barton P. Miller,et al.  The Paradyn Parallel Performance Measurement Tool , 1995, Computer.

[7]  Pankaj Mehra,et al.  Performance measurement, visualization and modeling of parallel and distributed programs using the AIMS toolkit , 1995, Softw. Pract. Exp..

[8]  Jerry C. Yan Performance Tuning with AIMS - An Automated Instrumentation and Monitoring System for Multicomputers , 1994, HICSS.

[9]  G. A. Geist,et al.  A user's guide to PICL a portable instrumented communication library , 1990 .

[10]  Barton P. Miller,et al.  Dynamic program instrumentation for scalable performance tools , 1994, Proceedings of IEEE Scalable High Performance Computing Conference.

[11]  J. C. Yan,et al.  Performance tuning with AIMS/spl minus/an Automated Instrumentation and Monitoring System for multicomputers , 1994, 1994 Proceedings of the Twenty-Seventh Hawaii International Conference on System Sciences.

[12]  Kang Zhang,et al.  Instrumenting Parallel Programs Based on a Virtual Clock Approach , 1997, PDPTA.

[13]  Rajiv Gupta,et al.  Dynamic techniques for minimizing the intrusive effect of monitoring actions , 1995, Proceedings of 15th International Conference on Distributed Computing Systems.

[14]  Carl Ponder,et al.  Inaccuracies in program profilers , 1988, Softw. Pract. Exp..

[15]  B. Miller,et al.  The Paradyn Parallel Performance Measurement Tools , 1995 .

[16]  Wentong Cai,et al.  The “logical clocks” approach to the visualization of parallel programs , 1993 .

[17]  Thomas E. Anderson,et al.  Quartz: a tool for tuning parallel program performance , 1990, SIGMETRICS '90.

[18]  Mark Crovella,et al.  Performance debugging using parallel performance predicates , 1993, PADD '93.

[19]  Susan L. Graham,et al.  Gprof: A call graph execution profiler , 1982, SIGPLAN '82.