This Article 
 Bibliographic References 
 Add to: 
Asynchronous Parallel Simulation of Parallel Programs
May 2000 (vol. 26 no. 5)
pp. 385-400

Abstract—Parallel simulation of parallel programs for large datasets has been shown to offer significant reduction in the execution time of many discrete event models. This paper describes the design and implementation of MPI-SIM, a library for the execution driven parallel simulation of task and data parallel programs. MPI-SIM can be used to predict the performance of $existing$ programs written using MPI for message-passing, or written in UC, a data parallel language, compiled to use message-passing. The simulation models can be executed sequentially or in parallel. Parallel execution of the models are synchronized using a set of asynchronous conservative protocols. This paper demonstrates how protocol performance is improved by the use of application-level, runtime analysis. The analysis targets the communication patterns of the application. We show the application-level analysis for message passing and data parallel languages. We present the validation and performance results for the simulator for a set of applications that include the NAS Parallel Benchmark suite. The application-level optimization described in this paper yielded significant performance improvements in the simulation of parallel programs, and in some cases completely eliminated the synchronizations in the parallel execution of the simulation model.

[1] R. Bagrodia, E. Deelman, S. Docy, and T. Phan, “Performance Prediction of Large Parallel Applications Using Parallel Simulations,” Proc. Seventh ACM SIGPLAN Symp. Principles and Practices of Parallel Programming (PPoPP `99), May 1999.
[2] R. Bagrodia, S. Docy, and A. Kahn, “Parallel Simulation of Parallel File Systems and I/O Programs,” Proc. Supercomputing '97, 1997.
[3] R. Bagrodia, K.M. Chandy, and M. Dhagat, “UC: A Set-Based Language for Data Parallel Programming,” J. Parallel and Distributed Computing, pp. 186–201, 1995.
[4] R. Bagrodia, R. Meyer, M. Takai, Y.A. Chan, X. Zeng, J. Marting, and H.Y. Song, “Parsec: A Parallel Simulation Environment for Complex Systems,” Computer, vol. 31, no. 10, pp. 77-85, Oct. 1998.
[5] R.L. Bagrodia and W.-T. Liao, "Maisie: A Language for the Design of Efficient Discrete-Event Simulations," IEEE Trans. Software Eng., Apr. 1994, pp. 225-238.
[6] D. Bailey, T. Harris, W. Saphir, R. van der Wijngaart, A. Woo, and M. Yarrow, “The Nas Parallel Benchmarks 2.0m” Technical Report nas-95-020, NASA Ames Research Center, Moffet Field, Calif., Dec. 1995.
[7] Z. Bozkus, A. Choudhary, G. Fox, T. Haupt, S. Ranka, and M.-Y. Wu, "Compiling Fortran 90D/HPF for Distributed Memory MIMD Computers," J. Parallel and Distributed Computing, vol. 21, no. 1, pp. 15-26, Apr. 1994.
[8] E.A. Brewer, C.N. Dellarocas, A. Colbrook, and W.E. Weihl, "PROTEUS: A High-Performance Parallel Architecture Simulator," technical report, Massachusetts Inst. of Tech nology, Sept. 1992.
[9] R.G. Covington, S. Dwarkadas, J.R. Jump, J.B. Sinclair, and S. Madala, “The Efficient Simulation of Parallel Computer Systems,” Int'l J. Computer Simulation, vol. 1, pp. 31–58, 1991.
[10] S. Chandrasekaran and M.D. Hill, “Optimistic Simulation of Parallel Architectures Using Program Executables,” 10th Workshop Parallel and Distributed Simulation (PADS’96), pp. 143–150, May 1996.
[11] K.M. Chandy and J. Misra, “Distributed Simulation: A Case Study in Design and Verification of Distributed Programs,” IEEE Trans. Software Eng., vol. 5, no. 5, pp. 440–452, Sept. 1979.
[12] K.M. Chandy and R. Sherman, “The Conditional Event Approach to Distributed Simulation,” Proc. Distributed Simulation Conf., 1989.
[13] H. Davis, S.R. Goldschmidt, and J. Hennessey, “Multiprocessor Simulation and Tracing Using Tango,” Proc. ICPP '91, pp. 99–107, Aug. 1991.
[14] E. Deelman, A. Dube, A. Hoisie, Y. Luo, R. Oliver, D. Sundaram-Stukel, H. Wasserman, V.S. Adve, R. Bagrodia, J.C. Browne, E. Housti, O. Lubeck, J. Rice, P. Teller, and M.K. Vernon, “POEMS: End-to-end Performance Design of Large Parallel Adaptive Computational Systems,” Proc. First Int'l Workshop Software and Performance (WOSP’98), 1998.
[15] P.M. Dickens, P. Heidelberger, and D.M. Nicol, "A Distributed Memory LAPSE: Parallel Simulation of Message-Passing Programs," Proc. Eighth Workshop Parallel and Distributed Simulation (PADS), pp. 32-38,Edinburgh, The Soc. of Computer Simulation, 1994.
[16] P. Dickens, P. Heidelberger, and D. Nicol, "Parallelized Direct Execution Simulation of Message-Passing Parallel Programs," IEEE Trans. Parallel and Distributed Systems, Vol. 7, No. 10, Oct. 1996, pp. 1090-1105.
[17] S.I. Feldman, D.M. Gay, M.W. Maimone, and N.L. Schryer, “A Fortran-to-C Converter,” Technical Report 149, AT&T Bell Laboratories, Murray Hill, N.J., May 1990.
[18] R. Fujimoto, “Lookahead in Parallel Discrete Event Simulation,” Int'l Conf. Parallel Processing, pp. 34–41, Aug. 1988.
[19] W. Gropp and E. Lusk, “The MPI Communication Library: Its Design and a Portable Implementation,” Proc. Scalable Parallel Libraries Conf., Oct. 1993.
[20] U. Legedza and W.E. Weihl, “Reducing Synchronization Overhead in Parallel Simulation,” 10th Workshop Parallel and Distributed Simulation PADS '96, pp. 86–95, May 1996.
[21] J. Misra, "Distributed Discrete-Event Simulation," ACM Computing Surveys, vol. 18, no. 1, pp. 39-65, Mar. 1986.
[22] The MPI Forum, "MPI: A Message Passing Interface," Proc. Supercomputing '93, pp. 878-883. ACM/IEEE, Oregon, Nov. 1993.
[23] “MPICH-A Portable Implementation of MPI,”
[24] S.S. Mukherjee, S.K. Reinhardt, B. Falsafi, M. Litzkow, S. Huss-Lederman, M.D. Hill, J.R. Larus, and D.A. Wood, “Wisconsin Wind Tunnel II: A Fast and Portable Parallel Architecture Simulator,” Workshop Performance Analysis and Its Impact on Design, 1997.
[25] S. Prakash and R. Bagrodia, “Parallel Simulation of Data Parallel Programs,” Proc. Eighth Workshop Languages and Compilers for Parallel Computing, Aug. 1995.
[26] S. Prakash and R. Bagrodia, “Using Parallel Simulation to Evaluate MPI Programs,” Proc. Winter Simulation Conf., Dec. 1998.
[27] S.K. Reinhardt, M.D. Hill, J.R. Larus, A.R. Lebeck, J.C. Lewis, and D.A. Wood, "The Wisconsin Wind Tunnel: Virtual Prototyping of Parallel Computers," Proc. ACM SIGMETRICS Conf. Measurement and Modeling of Computer Systems, pp. 48-60, ACM, May 1993.
[28] M. Rosenblum et al., "Using the SimOS Machine Simulator to Study Complex Computer Systems," ACM Trans. Modeling and Simulation, Jan. 1997, pp. 78-103.
[29] M. Rosenblum, S. Herrod, E. Witchel, and A. Gupta, "Complete Computer System Simulation," IEEE Parallel and Distributed Technology, Fall 1995.
[30] VeenstraJ.E. and R.J. Fowler, "MINT: A Front End for Efficient Simulation of Shared-Memory Multiprocessors," Proc. Second Int'l Workshop Modeling, Analysis, and Simulation of Computer and Telecommunication Systems, IEEE Computer Society Press, Los Alamitos, Calif., ISBN 0-8186-5292-6, Jan. 1994, p. 201.

Index Terms:
Parallel discrete event simulation, program simulation, conservative protocols.
Sundeep Prakash, Ewa Deelman, Rajive Bagrodia, "Asynchronous Parallel Simulation of Parallel Programs," IEEE Transactions on Software Engineering, vol. 26, no. 5, pp. 385-400, May 2000, doi:10.1109/32.846297
Usage of this product signifies your acceptance of the Terms of Use.