Automatic Performance Model Transformation from UML to C++

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.

[1]  Carl Kesselman,et al.  Generalized communicators in the Message Passing Interface , 1996, Proceedings. Second MPI Developer's Conference.

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

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

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

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

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

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

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

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

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

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

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

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

[14]  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.

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

[16]  Duncan A. Grove,et al.  Modeling message-passing programs with a Performance Evaluating Virtual Parallel Machine , 2005, Perform. Evaluation.

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

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

[19]  Ivona Brandic,et al.  Performance Modeling and Prediction of Parallel and Distributed Computing Systems: A Survey of the State of the Art , 2007, First International Conference on Complex, Intelligent and Software Intensive Systems (CISIS'07).

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

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