Abstract
In this paper we present a novel approach, based on the integration of static program analysis and simulation techniques, for the performance prediction of message passing programs. PS, a simulator of PVM applications developed in the last years by our research group, is fed with traces collected by executing the parallel program to be analyzed in quasi-concurrent mode on a single workstation. Since this process is typically a non negligible part of the simulation complexity, we have devised a technique based on static analysis and code restructuring for significantly speeding up the trace generation. We show how, by statically analyzing and restructuring the program, it is possible to obtain a simplified code (shrinked code) to be run for collecting a reduced version of the traces.
Similar content being viewed by others
References
R. Aversa, A. Mazzeo, N. Mazzocca and U. Villano. Heterogeneous system performance prediction and analysis using PS IEEE concurrency, 6(3), 1998.
R. Aversa, N. Mazzocca and U. Villano. Design of a simulator of heterogeneous computing environments. Simulation Practice and Theory, 4:97-117, 1996.
E. A. Brewer and W. E. Weihl. Developing parallel applications using high-performance simulation. In Proc. 1993 ONR/ACM Workshop on Parallel and Distr. Debugging, 1993.
A. Cimitile, A. De Lucia and M. Munro. Qualifying reusable functions using symbolic execution, Proc. of 2nd Working Conference on Reverse Engineering. IEEE CS Press, Toronto, Canada, Aug. 1995.
T. Fahringer. Automatic Performance Prediction of Parallel Programs. Kluwer Academic, 1996.
J. Ferrante, K. Ottenstein and J. Warren. The program dependence graph and its use in optimization, ACM Trans. Programming Languages and Systems, 9(3):319-349, 1987.
M. Froehlich and M. Werner. The graph visualization system daVinci––A user interface for applications. Technical report n. 5/94. Department of Computer Science, Universitaet Bremen, September 1994.
A. Geist et al. PVM: Parallel Virtual Machine––A Users Guide and Tutorial for Networked Parallel Computing. MIT Press, Cambridge, 1994.
J. Grosh and H. Emmelmann. A tool box for compiler construction, Lecture Notes in Computer Science, pp. 106-116. Springer-Verlag, n. 477, Oct. 1990.
A. Khokhar, V. K. Prasanna M. E. Shaaban and C. Wang. Heterogeneous computing: challenges and opportunities. IEEE Computer, 26(6):18-27, 1993.
A. Mazzeo, N. Mazzocca and U. Villano. On the evaluation of efficiency in heterogeneous distributed systems. Proceedings of 5th Euromicro Workshop on Parallel and Distributed Processing. pp. 54-59. IEEE CS Press, London, 22-24 Gennaio 1997.
C. M. Pancake, M. L. Simmons and J. C. Yan. Performance evaluation tools for parallel and distributed systems. IEEE Computer, 28(11):16-19, 1995.
W. Pugh. A practical algorithm for exact array dependence analysis, Communications of ACM, 8(35):102-115, 1992.
Puma––A generator for the transformation of attributed trees. Compiler generation report n. 26,GMD Karlsruhe, July 1991.
H. Zima and B. Chapman. Supercompilers for Parallel and Vector Computers. ACM Press, New York, NY, 1990.
B. DiMartino, A. Mazzeo, N. Mazzocca and U. Villano. Automatic Detection of Interaction Patterns for Parallel Program Analysis and Development. Proceedings of 6th International Workshop on Program Comprehension, Ischia (1). IEEE CS Press, 24-26. June 1998.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Aversa, R., Di Martino, B., Mazzocca, N. et al. Reducing Parallel Program Simulation Complexity by Static Analysis. The Journal of Supercomputing 17, 299–310 (2000). https://doi.org/10.1023/A:1026571525145
Issue Date:
DOI: https://doi.org/10.1023/A:1026571525145