Article ID | Journal | Published Year | Pages | File Type |
---|---|---|---|---|
4962645 | Simulation Modelling Practice and Theory | 2017 | 17 Pages |
Abstract
In this paper we present a new environment called MERPSYS that allows simulation of parallel application execution time on cluster-based systems. The environment offers a modeling application using the Java language extended with methods representing message passing type communication routines. It also offers a graphical interface for building a system model that incorporates various hardware components such as CPUs, GPUs, interconnects and easily allows various formulas to model execution and communication times of particular blocks of code. A simulator engine within the MERPSYS environment simulates execution of the application that consists of processes with various codes, to which distinct labels are assigned. The simulator runs one Java thread per label and scales computations and communication times adequately. This approach allows fast coarse-grained simulation of large applications on large-scale systems. We have performed tests and verification of results from the simulator for three real parallel applications implemented with C/MPI and run on real HPC clusters: a master-slave code computing similarity measures of points in a multidimensional space, a geometric single program multiple data parallel application with heat distribution and a divide-and-conquer application performing merge sort. In all cases the simulator gave results very similar to the real ones on configurations tested up to 1000 processes. Furthermore, it allowed us to make predictions of execution times on configurations beyond the hardware resources available to us.
Related Topics
Physical Sciences and Engineering
Computer Science
Computer Science (General)
Authors
PaweÅ Czarnul, JarosÅaw Kuchta, Mariusz Matuszek, Jerzy Proficz, PaweÅ RoÅciszewski, MichaÅ Wójcik, Julian SzymaÅski,