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

  • Vincent Danjean
  • Raymond Namyst
  • Pierre-André Wacrenier
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3648)


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.


System Call Context Switch Trace Format Synchronization Point Communication Library 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Sun microsystems: Multithreading in the solaris operating environment (2002),
  2. 2.
    Namyst, R., Méhaut, J.F.: PM2: Parallel Multithreaded Machine. A computing environment for distributed architectures. In: Parallel Computing (ParCo 1995), pp. 279–285. Elsevier Science Publishers, Amsterdam (1995)Google Scholar
  3. 3.
    Shende, S.: The Role of Instrumentation and Mapping in Performance Measurement. PhD thesis, University of Oregon (2001)Google Scholar
  4. 4.
    Malony, A.D., Shende, S.: Performance Technology for Complex Parallel and Distributed Systems. In: Distributed and parallel systems: from instruction parallelism to cluster computing, pp. 37–46. Kluwer Academic Publishers, Dordrecht (2000)Google Scholar
  5. 5.
    Xu, Z., Miller, B.P., Naim, O.: Dynamic instrumentation of threaded applications. In: PPoPP 1999: Proceedings of the seventh ACM SIGPLAN symposium on Principles and practice of parallel programming, pp. 49–59. ACM Press, New York (1999)CrossRefGoogle Scholar
  6. 6.
    Miller, B.P., Callaghan, M.D., Cargille, J.M., Hollingsworth, J.K., Irvin, R.B., Karavanic, K.L., Kunchithapadam, K., Newhall, T.: The paradyn parallel performance measurement tool. Computer 28, 37–46 (1995)CrossRefGoogle Scholar
  7. 7.
    Aumage, O., Bougé, L., Méhaut, J.F., Namyst, R.: Madeleine II: A portable and efficient communication library for high-performance cluster computing. Parallel Computing 28, 607–626 (2002)zbMATHCrossRefGoogle Scholar
  8. 8.
    Danjean, V., Namyst, R.: Controling Kernel Scheduling from User Space: an Approach to Enhancing Applications’ Reactivity to I/O Events. In: Pinkston, T.M., Prasanna, V.K. (eds.) HiPC 2003. LNCS (LNAI), vol. 2913, pp. 490–499. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  9. 9.
    Anderson, T., Bershad, B., Lazowska, E., Levy, H.: Scheduler Activations: Efficient kernel support for the user-level managment of parallelism. In: Proc. 13th ACM Symp. on Operating Systems Principles (SOSP 1991), pp. 95–105 (1991)Google Scholar
  10. 10.
    Danjean, V., Namyst, R., Russell, R.: Integrating Kernel Activations in a Multithreaded Runtime System on Linux. In: RTSPP 2000, Cancun, Mexico. LNCS, Springer, Heidelberg (2000)Google Scholar
  11. 11.
    Malony, A.D., Shende, S.S.: Overhead Compensation in Performance Profiling. In: Proc. Europar 2004 Conference. LNCS (2004)Google Scholar
  12. 12.
    Yaghmour, K., Dagenais, M.R.: Measuring and Characterizing System Behavior Using Kernel-Level Event Logging. In: Proceeding of the 2000 USENIX Annual Technical Conference (2000)Google Scholar
  13. 13.
    Russell, R.D., Chavan, M.: Fast Kernel Tracing: a Performance Evaluation Tool for Linux. In: Proc. 19th IASTED International Conference on Applied Informatics (AI 2001), IASTED (2001)Google Scholar
  14. 14.
    Tamches, A., Miller, B.P.: Using dynamic kernel instrumentation for kernel and application tuning. The International Journal of High Performance Computing Applications 13, 263–276 (1999)CrossRefGoogle Scholar
  15. 15.
    Thibault, S.: Developping a software tool for precise kernel measurements. Master’s thesis, University of New Hampshire (2003)Google Scholar
  16. 16.
    de Kergommeaux, J.C., de Oliveira Stein, B.: Pajé: an extensible environment for visualizing multi-threaded programs executions. In: Bode, A., Ludwig, T., Karl, W.C., Wismüller, R. (eds.) Euro-Par 2000. LNCS, vol. 1900, p. 133. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  17. 17.
    Bougé, L., Danjean, V., Namyst, R.: Improving Reactivity to I/O Events in Multithreaded Environments Using a Uniform, Scheduler-Centric API. In: Monien, B., Feldmann, R.L. (eds.) Euro-Par 2002. LNCS, vol. 2400, pp. 605–614. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  18. 18.
    Demmel, J.W., Gilbert, J.R., Li, X.S.: An asynchronous parallel supernodal algorithm for sparse gaussian elimination. SIAM J. Matrix Anal. Appl. 20, 915–952 (1999)zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Vincent Danjean
    • 1
  • Raymond Namyst
    • 1
  • Pierre-André Wacrenier
    • 1
  1. 1.LaBRI / INRIA-FutursUniversité Bordeaux 1Talence CedexFrance

Personalised recommendations