Skip to main content

KOJAK – A Tool Set for Automatic Performance Analysis of Parallel Programs

Part of the Lecture Notes in Computer Science book series (LNCS,volume 2790)


Today’s parallel computers with SMP nodes provide both multithreading and message passing as their modes of parallel execution. As a consequence, performance analysis and optimization becomes more difficult and creates a need for advanced performance tools that are custom made for this class of computing environments. Current state-of-the-art tools provide valuable assistance in analyzing the performance of mpi and Openmp programs by visualizing the run-time behavior and calculating statistics over the performance data. However, the developer of parallel programs is still required to filter out relevant parts from a huge amount of low-level information shown in numerous displays and map that information onto program abstractions without tool support.

The kojak project (Kit for Objective Judgement and Knowledge-based Detection of Performance Bottlenecks) is aiming at the development of a generic automatic performance analysis environment for parallel programs. Performance problems are specified in terms of execution patterns that represent situations of inefficient behavior. These patterns are input for an analysis process that recognizes and quantifies the inefficient behavior in event traces. Mechanisms that hide the complex relationships within event pattern specifications allow a simple description of complex inefficient behavior on a high level of abstraction.

The analysis process transforms the event traces into a three-dimensional representation of performance behavior. The first dimension is the kind of behavior. The second dimension describes the behavior’s source-code location and the execution phase during which it occurs. Finally, the third dimension gives information on the distribution of performance losses across different processes or threads. The hierarchical organization of each dimension enables the investigation of performance behavior on varying levels of granularity. Each point of the representation is uniformly mapped onto the corresponding fraction of execution time, allowing the convenient correlation of different behavior using only a single view. In addition, the set of predefined performance problems can be extended to meet individual (e.g., application-specific) needs.


  • Parallel Program
  • Performance Behavior
  • User Function
  • Event Trace
  • Program Abstraction

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.


  1. Wolf, F., Mohr, B.: Automatic Performance Analysis of Hybrid MPI/OpenMP Applications. In: 11th Euromicro Conference on Parallel, Distributed and Network Based Processing (2003)

    Google Scholar 

  2. Wolf, F.: AutomaticPerformance Analysis on Parallel Computers with SMP Nodes. Dissertation, NIC Series, Forschunszentrum Jülich, vol. 17 (2002)

    Google Scholar 

  3. Wolf, F., Mohr, B.: Specifying Performance Properties of Parallel Applications Using Compound Events. Parallel and Distributed Computing Practices (Special Issue on Monitoring Systems and Tool Interoperability) 4(3)

    Google Scholar 

  4. Shende, S., Malony, A.D., Cuny, J., Lindlan, K., Beckman, P., Karmesin, S.: Portable Profiling and Tracing for parallel Scientific Applications using C++. In: Proc. of the SIGMETRICS Symposium on Parallel and Distributed Tools, pp. 134–145. ACM, New York (1998)

    CrossRef  Google Scholar 

  5. Lindlan, K.A., Cuny, J., Malony, A., Shende, S., Mohr, B., Rivenburgh, R., Rasmussen, C.: A Tool Framework for Static and Dynamic Analysis of Object-Oriented Software with Templates. In: Proc. of Supercomputing 2000, Dallas, TX (2000),

  6. Mohr, B., Malony, A., Shende, S., Wolf, F.: Design and Prototype of a Performance Tool Interface for OpenMP. The Journal of Supercomputing 23, 105–128 (2002)

    CrossRef  Google Scholar 

  7. Mohr, B., Malony, A., Hoppe, H.-C., Schlimbach, F., Haab, G., Hoeflinger, J., Shah, S.: A Performance Monitoring Interface for OpenMP. In: Proc. of 4th EuropeanWorkshop on OpenMP (EWOMP 2002), Rome, Italy (2002)

  8. Pallas GmbH. Visualization and Analysis of MPI Programs,

Download references

Author information

Authors and Affiliations


Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Mohr, B., Wolf, F. (2003). KOJAK – A Tool Set for Automatic Performance Analysis of Parallel Programs. In: Kosch, H., Böszörményi, L., Hellwagner, H. (eds) Euro-Par 2003 Parallel Processing. Euro-Par 2003. Lecture Notes in Computer Science, vol 2790. Springer, Berlin, Heidelberg.

Download citation

  • DOI:

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-40788-1

  • Online ISBN: 978-3-540-45209-6

  • eBook Packages: Springer Book Archive