Automatic Performance Model Transformation from a Human-intuitive to a Machine-efficient Form

We address the issue of the development of performance models for programs that may be executed on large-scale computing systems. The commonly used approaches apply non-standard notations for model specification and often require that the software engineer has a thorough understanding of the underlying performance modeling technique. We propose to bridge the gap between the performance modeling and software engineering by incorporating UML. In our approach we aim to permit the graphical specification of performance model in a human-intuitive fashion on one hand, but on the other hand we aim for a machine-efficient model evaluation. The user specifies graphically the performance model using UML. Thereafter, the transformation of the performance model from the human-usable UML representation to the machine-efficient C++ representation is done automatically. We describe our methodology and illustrate it with the automatic transformation of a sample performance model. Furthermore, we demonstrate the usefulness of our approach by modeling and simulating a real-world material science program.

[1]  Fatos Xhafa,et al.  Hybrid Performance Modeling and Prediction of Large-Scale Computing Systems , 2008, 2008 International Conference on Complex, Intelligent and Software Intensive Systems.

[2]  Ivar Jacobson,et al.  The Unified Modeling Language user guide second edition , 2005 .

[3]  Jesús Labarta,et al.  A Framework for Performance Modeling and Prediction , 2002, ACM/IEEE SC 2002 Conference (SC'02).

[4]  K. Schwarz,et al.  Electronic structure calculations of solids using the WIEN2k package for material sciences , 2002 .

[5]  T. Fahringer,et al.  On Customizing the UML for Modeling Performance-Oriented Applications , 2002, UML.

[6]  Hamid Sarbazi-Azad,et al.  Performance modeling and evaluation of high-performance parallel and distributed systems , 2005, Perform. Evaluation.

[7]  Ivar Jacobson,et al.  Unified Modeling Language User Guide, The (2nd Edition) (Addison-Wesley Object Technology Series) , 2005 .

[8]  Graham R. Nudd,et al.  Pace—A Toolset for the Performance Prediction of Parallel and Distributed Systems , 2000, Int. J. High Perform. Comput. Appl..

[9]  Christopher J. Hughes,et al.  RSIM: Simulating Shared-Memory Multiprocessors with ILP Processors , 2002, Computer.

[10]  Marc Snir,et al.  GETTING UP TO SPEED THE FUTURE OF SUPERCOMPUTING , 2004 .

[11]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[12]  Jack Dongarra,et al.  MPI: The Complete Reference , 1996 .

[13]  W. Gropp,et al.  Using MPI-2nd Edition , 1999 .

[14]  Ivona Brandic,et al.  A Survey of the State of the Art in Performance Modeling and Prediction of Parallel and Distributed Computing Systems , 2008 .

[15]  Adolfy Hoisie,et al.  Use of Predictive Performance Modeling during Large-scale System Installation , 2005, Parallel Process. Lett..

[16]  Thomas Fahringer,et al.  UML based modeling of performance oriented parallel and distributed applications , 2002, Proceedings of the Winter Simulation Conference.

[17]  F. H. Mcmahon,et al.  The Livermore Fortran Kernels: A Computer Test of the Numerical Performance Range , 1986 .

[18]  Mohammad S. Obaidat,et al.  Applied system simulation: methodologies and applications , 2003 .

[19]  L. Dagum,et al.  OpenMP: an industry standard API for shared-memory programming , 1998 .

[20]  Mary K. Vernon,et al.  Poems: end-to-end performance design of large parallel adaptive computational systems , 1998, WOSP '98.

[21]  D. F. Kvasnicka,et al.  Simulating Parallel Program Performance with CLUE , 2001 .