An Efficient Multi-level Trace Toolkit for Multi-threaded Applications

Nowadays, observing and understanding the behavior and performance of a multi-threaded application is a nontrivial task, especially within a complex multi-threaded environment such as a multi-level thread scheduler. In this paper, we present a trace toolkit that allows programmers to precisely analyze the behavior of a multi-threaded application. Running an application through this toolkit generates several traces which are merged and analyzed offline. The resulting super-trace contains not only classical information but also detailed informations about thread scheduling at multiple levels.

[1]  Wolfgang Karl,et al.  Euro-Par 2000 Parallel Processing , 2000, Lecture Notes in Computer Science.

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

[3]  Robert D. Russell,et al.  Integrating Kernel Activations in a Multithreaded Runtime System on Top of LINUX , 2000, IPDPS Workshops.

[4]  Luc Bougé,et al.  Improving Reactivity to I/O Events in Multithreaded Environments Using a Uniform, Scheduler-Centric API , 2002, Euro-Par.

[5]  Jean-François Méhaut,et al.  PM2: Parallel Multithreaded Machine. A Computing Environment for Distributed Architectures , 1995, PARCO.

[6]  Barton P. Miller,et al.  Using Dynamic Kernel Instrumentation for Kernel and Application Tuning , 1999, Int. J. High Perform. Comput. Appl..

[7]  Viktor K. Prasanna,et al.  High Performance Computing - HiPC 2003 , 2003, Lecture Notes in Computer Science.

[8]  Jacques Chassin de Kergommeaux,et al.  Pajé: An Extensible Environment for Visualizing Multi-threaded Programs Executions , 2000, Euro-Par.

[9]  Allen D. Malony,et al.  Performance Technology for Complex Parallel and Distributed Systems , 2000, Scalable Comput. Pract. Exp..

[10]  Raymond Namyst,et al.  Controlling Kernel Scheduling from User Space: An Approach to Enhancing Applications' Reactivity to I/O Events , 2003, HiPC.

[11]  Allen D. Malony,et al.  Overhead Compensation in Performance Profiling , 2004, Euro-Par.

[12]  Michel Dagenais,et al.  Measuring and Characterizing System Behavior Using Kernel-Level Event Logging , 2000, USENIX Annual Technical Conference, General Track.

[13]  Oscar Naim,et al.  Dynamic instrumentation of threaded applications , 1999, PPoPP '99.

[14]  D J Evans,et al.  Parallel processing , 1986 .

[15]  Brian N. Bershad,et al.  Scheduler activations: effective kernel support for the user-level management of parallelism , 1991, TOCS.

[16]  James Demmel,et al.  An Asynchronous Parallel Supernodal Algorithm for Sparse Gaussian Elimination , 1997, SIAM J. Matrix Anal. Appl..

[17]  Péter Kacsuk,et al.  Distributed and parallel systems: from instruction parallelism to cluster computing , 2000 .

[18]  Jean-François Méhaut,et al.  Madeleine II: a portable and efficient communication library for high-performance cluster computing , 2002, Parallel Comput..

[19]  Allen D. Malony,et al.  The role of instrumentation and mapping in performance measurement , 2001 .