Performance evaluation of parallel Ada programs using an experimental multiprocessor

  • Lars Lundberg
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 688)


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.


Processing Element Global Communication Processor Utilization Architectural Support Multiprocessor Architecture 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Ada. Ada reference manual, 1983. ANSI/MIL-STD-1815A-1983, Department of Defense, USA.Google Scholar
  2. [2]
    Gordon E. Anderson. An Ada Multitask Solution for the Sieve of Erathosthenes. ACM, Ada Letters, Vol 7, September/October 1988.Google Scholar
  3. [3]
    A. Ardö. Experience Acquiring and Retargeting a Portable Ada Compiler. Software — Practice and Experience, April 1987.Google Scholar
  4. [4]
    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
  5. [5]
    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
  6. [6]
    H. Burkhart and R. Millen. Performance-Measurement Tools in a Multiprocessor Environment. IEEE Transactions on Computers, May 1989.Google Scholar
  7. [7]
    F. Dahlgren. A simulation model of a highly parallel MIMD multiprocessor. Technical report, Department of Computer Engineering, University of Lund, Sweden, 1990.Google Scholar
  8. [8]
    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
  9. [9]
    H. Hansson and O. Oest. DDC Ada compiler system overview. Technical report, DDC International A/S, 1985.Google Scholar
  10. [10]
    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
  11. [11]
    Susan Flynn Hummel. SMARTS — Shared-memory Multiprocessor Ada Run Time Supervisor. PhD thesis, New York University, December 1988.Google Scholar
  12. [12]
    K. Li. Shared virtual memory on loosely coupled multiprocessors. PhD thesis, Yale University, 1986.Google Scholar
  13. [13]
    L. Lundberg. A Parallel Ada System on an Experimental Multiprocessor. Software Practice and Experience, 19(8):787–800, August 1989.Google Scholar
  14. [14]
    L. Lundberg. A Protocol to Reduce Global Communication in Distributed Ada Tasking. Journal of Parallel and Distributing Computing, 10(3):261–264, November 1990.CrossRefGoogle Scholar
  15. [15]
    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
  16. [16]
    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
  17. [17]
    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
  18. [18]
    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
  19. [19]
    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
  20. [20]
    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
  21. [21]
    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
  22. [22]
    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
  23. [23]
    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
  24. [24]
    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

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Lars Lundberg
    • 1
  1. 1.Department of Computer EngineeringLund UniversityLundSweden

Personalised recommendations