Performance evaluation of parallel Ada programs using an experimental multiprocessor
Today, parallel program behaviour is not well understood, and there are consequently no good models for parallel programs. Therefore, real programs often have to be used in performance evaluations. This has led to the development of advanced monitoring tools. However, these tools do not facilitate experimentation with different architectural parameters. Consequently, one often has to resort to expensive hardware prototyping.
The approach taken here was to build a multiprocessor system where some parts of the architecture are emulated in software, i.e. some of the architectural characteristics are defined in software and thus easy to alter. The emulation approach provides many advantages, e.g. architectural redesign in software and non-invasive measurements.
A parallel Ada system has been targeted to the experimental machine; thus, real parallel Ada programs can be used in the experiments.
The complete experimental system has been used to investigate how design decisions, concerning both hardware and software, affect the overall performance of parallel application programs.
This paper presents our experience using and developing the experimental system. The qualities of the system are demonstrated through two experiments.
KeywordsProcessing Element Global Communication Processor Utilization Architectural Support Multiprocessor Architecture
Unable to display preview. Download preview PDF.
- Ada. Ada reference manual, 1983. ANSI/MIL-STD-1815A-1983, Department of Defense, USA.Google Scholar
- Gordon E. Anderson. An Ada Multitask Solution for the Sieve of Erathosthenes. ACM, Ada Letters, Vol 7, September/October 1988.Google Scholar
- A. Ardö. Experience Acquiring and Retargeting a Portable Ada Compiler. Software — Practice and Experience, April 1987.Google Scholar
- A. Ardö. Hardware Support for Efficient Execution of Ada Tasking. In Proc of the 21st Hawaii International Conference on System Sciences, pages 194–202, January 1988.Google Scholar
- D. Bhatt, A. Ghonami, W. Heimerdinger, and R. Ramanujan. An Instrumented Testbed for Real-Time Distributed Systems Development. In Proceedings of the Symposium on Real-Time Systems, pages 241–251, December 1987.Google Scholar
- H. Burkhart and R. Millen. Performance-Measurement Tools in a Multiprocessor Environment. IEEE Transactions on Computers, May 1989.Google Scholar
- F. Dahlgren. A simulation model of a highly parallel MIMD multiprocessor. Technical report, Department of Computer Engineering, University of Lund, Sweden, 1990.Google Scholar
- F. Darema-Rogers, D. A. George, V. A. Norton, and G. F. Pfister. VM Parallel Environment. Technical report, IBM T. J. Watson Research Center, Yorktown Heights, New York, Jan 1985.Google Scholar
- H. Hansson and O. Oest. DDC Ada compiler system overview. Technical report, DDC International A/S, 1985.Google Scholar
- R. Hofmann, R. Klar, N. Luttenberger, B. Mohr, and G. Werner. An Approach to Monitoring and Modeling of Multiprocessor and Multicomputer Systems. In Proceedings of the International Seminar on Performance of Distributed and Parallel Systems, December 1988.Google Scholar
- Susan Flynn Hummel. SMARTS — Shared-memory Multiprocessor Ada Run Time Supervisor. PhD thesis, New York University, December 1988.Google Scholar
- K. Li. Shared virtual memory on loosely coupled multiprocessors. PhD thesis, Yale University, 1986.Google Scholar
- L. Lundberg. A Parallel Ada System on an Experimental Multiprocessor. Software Practice and Experience, 19(8):787–800, August 1989.Google Scholar
- L. Lundberg. A Coprocessor for High Performance Multiprocessor Ada Tasking. In Proceedings of the Ada Europe'91 Conference, pages 147–167, May 1991.Google Scholar
- G. F. Pfister, W. C. Brantley, D. A. George, S. L. Harvey, W. J. Kleinfelder, K. P. McAuliffe, E. A. Melton, V. A. Norton, and J. Weiss. The IBM Research Parallel Processor Prototype (RP3): Introduction and Architecture. In Proceedings of the 1985 international conference on parallel processing, 1985.Google Scholar
- J. Roos. A Real-Time Support Processor for Ada Tasking. In Proceedings of the ACM conference ASPLOS-III, pages 162–171, April 1989.Google Scholar
- J. Roos. The Performance of a Prototype Coprocessor for Ada Tasking. In Proceedings of the TRI-Ada'90 Conference, pages 265–279, December 1990.Google Scholar
- Z. Segall, A. Singh, R. T. Snodgrass A. Jones, and D. P. Siewiorek. An Integrated Instrumentation Environment for Multiprocessors. IEEE Transactions on Computers, 1983.Google Scholar
- B. Stavenow and L. Philipson. Performance Simulation of a Multiprocessor Computer with Virtual Memory. Technical report, Department of Telecommunication Systems and Department of Computer Engineering, Lund University, Sweden, 1984.Google Scholar
- P. Stenström and L. Philipson. A layered emulator for evaluation of design principles for MIMD multiprocessors with shared memory. In Proceedings of Parallel Architectures and Languages, Europe, pages 329–344. Springer Verlag, June 1987.Google Scholar
- Per Stenström, Dalibor Vrsalovic, and Zary Segall. Shared Data Structures in a Distributed System — Performance Evaluation and Practical Considerations. In Proceedings of the international seminar on performance of distributed and parallel systems, December 1988.Google Scholar
- A. Svensson. Software Primitives for Emulation of Multiprocessor Architectures. In Proceedings of the 23st Hawaii International Conference on System Sciences, pages 48–56, January 1990.Google Scholar
- K. Yuyama and Z. Segall. Shared Memory Emulation Algorithm for Multiprocessors. In Proceedings of the International Conference on Parallel Processing, pages 42–45, August 1986.Google Scholar