Skip to main content

Simulating parallel programs on application and system level

Abstract

Understanding the measured performance of parallel applications in real systems is difficult—with the aim to utilize the resources available, optimizations deployed in hardware and software layers build up to complex systems. However, in order to identify bottlenecks the performance must be assessed.

This paper introduces PIOsimHD, an event-driven simulator for MPI-IO applications and the underlying (heterogeneous) cluster computers. With the help of the simulator runs of MPI-IO applications can be conducted in-silico; this includes detailed simulation of collective communication patterns as well as simulation of parallel I/O. The simulation estimates upper bounds for expected performance and helps assessing observed performance.

Together with HDTrace, an environment which allows tracing the behavior of MPI programs and internals of MPI and PVFS, PIOsimHD enables us to localize inefficiencies, to conduct research on optimizations for communication algorithms, and to evaluate arbitrary and future systems. In this paper the simulator is introduced and an excerpt of the conducted validation is presented, which demonstrates the accuracy of the models for our cluster.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Notes

  1. The mentioned experiments are described and assessed in the Ph.D. Thesis of the author, which will be published 2012.

  2. Measurements are made with MPICH2 1.3.2 and OpenMPI 1.5.3 as a reference.

References

  1. Geimer M, Wolf F, Wylie BJN, Becker D, Böhme D, Frings WF, Hermanns MA, Mohr B, Szebenyi Z (2009) Recent developments in the scalasca toolset. In: Tools for high performance computing, proceedings of the 3rd international workshop on parallel tools. Springer, Berlin

    Google Scholar 

  2. Girona S, Labarta J, Badia RM (2000) Validation of dimemas communication model for MPI collective operations. In: Proceedings of the 7th European PVM/MPI users’ group meeting on recent advances in parallel virtual machine and message passing interface. Springer, Berlin, pp 39–46

    Chapter  Google Scholar 

  3. Hermanns MA, Geimer M, Wolf F, Wylie BJN (2009) Verifying causality between distant performance phenomena in large-scale MPI applications. In: Proceedings of the 2009 17th Euromicro international conference on parallel, distributed and network-based processing. IEEE Comput Soc, Los Alamitos, pp 78–84

    Google Scholar 

  4. Hoefler T, Schneider T, Lumsdaine A (2010) LogGOPSim: simulating large-scale applications in the LogGOPS model. In: Proceedings of the 19th ACM international symposium on high performance distributed computing, HPDC’10. ACM, New York, pp 597–604

    Chapter  Google Scholar 

  5. Knüpfer A, Brunst H, Doleschal J, Jurenz M, Lieber M, Mickler H, Müller MS, Nagel WE (2008) The vampir performance analysis tool-set. In: Tools for high performance computing, proceedings of the 2nd international workshop on parallel tools. Springer, Berlin, pp 139–155

    Chapter  Google Scholar 

  6. Kuhn M, Kunkel J, Ludwig T (2012) Simulation-aided performance evaluation of server-side input/output optimizations. In: PDP 2012. IEEE Press, New York. Munich network management team

    Google Scholar 

  7. Kunkel J (2011) HDTrace—a tracing and simulation environment of application and system interaction. Tech Rep 2, research group: scientific computing, University of Hamburg

  8. Rodrigues AF, Murphy RC, Kogge P, Underwood KD (2006) The structural simulation toolkit: exploring novel architectures. In: Proceedings of the 2006 ACM/IEEE conference on supercomputing, SC’06. ACM, New York

    Google Scholar 

  9. Shende SS, Malony AD (2006) The Tau parallel performance system. Int J High Perform Comput Appl 20(2):287–311

    Article  Google Scholar 

  10. Tu B, Fan J, Zhan J, Zhao X (2009) Accurate analytical models for message passing on multi-core clusters. In: Proceedings of the 2009 17th Euromicro international conference on parallel, distributed and network-based processing. IEEE Comput Soc, Los Alamitos, pp 133–139

    Google Scholar 

  11. Wolfgang Kreutzer BP (2005) The Java simulation handbook: simulating discrete event systems with UML and Java. Shaker, Aachen

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Julian M. Kunkel.

Additional information

Thanks to Nathanel Hübbe for reviewing this paper.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Kunkel, J.M. Simulating parallel programs on application and system level. Comput Sci Res Dev 28, 167–174 (2013). https://doi.org/10.1007/s00450-012-0208-2

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00450-012-0208-2

Keywords

  • Simulation
  • Tracing
  • MPI-IO