A Fully Compliant OpenMP Implementation on Software Distributed Shared Memory

  • Sven Karlsson
  • Sung-Woo Lee
  • Mats Brorsson
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2552)


OpenMP is a relatively new industry standard for programming parallel computers with a shared memory programming model. Given that clusters of workstations are a cost-effective solution for building parallel platforms, it would of course be highly interesting if the OpenMPmo del could be extended to these systems as well as to the standard shared memory architectures for which it was originally intended.

We present in this paper a fully compliant implementation of the OpenMP specification 1.0 for C targeting networks of workstations. We have used an experimental software distributed shared memory system called Coherent Virtual Machine to implement a run-time library which is the target of a source-to-source OpenMPt ranslator also developed in this project.

The system has been evaluated using an OpenMPm icro-benchmark suite as to evaluate the effect of some memory coherence protocol improvements. We have also used OpenMPv ersions of three Splash-2 applications concluding in reasonable speedups on an IBM SP2 machine. This also is the first study to investigate the subtle mechanisms of consistency in OpenMPon software distributed shared memory systems.


Shared Memory Parallel Region Home Node Shared Memory System Page Request 
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]
    S. V. Adve, K. Gharachorloo, Shared memory consistency models: a tutorial, IEEE Computer, Volume: 29 Issue: 12, Dec. 1996 pp. 66–76. 199Google Scholar
  2. [2]
    C. Amza, A. L. Cox, S. Dwarkadas, P. Keleher, H. Lu, R. Rajamony, W. Yu and W. Zwaenepoel. TreadMarks: Shared Memory Computing on Networks of Workstations, IEEE Computer, Vol. 29, no. 2, pp. 18–28, February 1996. 195, 198Google Scholar
  3. [3]
    J. M. Bull, Measuring Synchronization and Scheduling Overheads in OpenMP, in Proceedings of the First European Workshop on OpenMP, Sept. 1999, pp. 99–105. 201
  4. [4]
    Y. C. Hu, H. Lu, A. L. Cox, and W. Zwaenepoel, OpenMPf or Networks of SMPs, in Proceedings of IPPS/SPDP’99, April 1999, pp. 302–310. 204Google Scholar
  5. [5]
    S. Karlsson, et al., A Free OpenMP Compiler and Run-Time Library Infrastructure for Research on Shared Memory Parallel Computing, Technical Report, Deptartment of Microelectronics and Information Technology, KTH, Royal Institute of Technology, 2002. 196, 197Google Scholar
  6. [6]
    S. Karlsson, and M. Brorsson, Producer-push-a protocol enhancement to pagebased software distributed shared memory systems Proceedings of 1999 International Conference on Parallel Processing, September 1999, pp. 291–300. 195Google Scholar
  7. [7]
    S. Karlsson, and M. Brorsson, A comparative characterization of communication patterns in applications using MPI and shared memory on an IBM SP2, in Network-Based Parallel Computing. Communication, Architecture, and Applications. Second International Workshop, CANPC’ 98, January 1998 pp. 189–201. 196Google Scholar
  8. [8]
    P. Keleher, The CVM Manual, Technical report, Computer Science Deptartment, University of Maryland, May 1995. 195, 196, 198Google Scholar
  9. [9]
    K. Li, IVY: A shared Virtual Memory System for Parallel Computing. In Proceedings of 1988 International Conference on Parallel Processing, 1988, pp. 94–101. 195Google Scholar
  10. [10]
    H. Lu. Y. C. Hu, and W. Zwaenepoel. OpenMPon Networks of Workstations, in Proceedings of Supercomputing’98, Nov. 1998. 204Google Scholar
  11. [11]
    Message Passing Interface Forum, MPI: A Message-Passing Interface Standard, version 1.1, June 12, 1995. 196Google Scholar
  12. [12]
    H. W. Meuer, E. Strohmaier, J. J. Dongarra, and H. D. Simon, TOP500 Supercomputer Sites, 18th ed., Technical report, Lawrence Berkely National Laboratory LBNL-49122, Nov. 2001. 195Google Scholar
  13. [13]
    OpenMPcon sortium, OpenMP: A Proposed Standard API for Shared Memory Programming, White paper, 195
  14. [14]
    OpenMPcon sortium, OpenMP C and C++ Application Program Interface, Version 1.0, October 1998. 195, 204Google Scholar
  15. [15]
    E. W. Parsons, M. Brorsson and K. C. Sevcik, Predicting the Performance of Distributed Virtual Shared Memory Applications, IBM Systems Journal, Volume 36, No. 4, 1997, pp. 527–549. 196CrossRefGoogle Scholar
  16. [16]
    R. Samanta, A. Bilas, L. Iftode, and J. P. Singh, Home-based SVM protocols for SMPc lusters: Design and performance, in Proceedings of the 4th IEEE Symposium on High-Performance Computer Architecture (HPCA-4), Las Vegas, Nevada, January 1998, pp. 113–124. 195Google Scholar
  17. [17]
    D. M. Sato, Design of OpenMPC ompiler for an SMP Cluster, in Proceedings of First European Workshop on OpenMP, Sept. 1999. 204
  18. [18]
    D. J. Scales, K. Gharachorloo, and C. A. Thekkath, Shasta: A Low Overhead, Software-Only Approach for Supporting Fine-Grained Shared Memory, in Proceedings of the Seventh International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’96), October 1996, pp. 174–185. 195Google Scholar
  19. [19]
    J. P. Singh, A. Gupta and M. Levoy, Parallel Visualization Algorithms: Performance and Architectural Implications, IEEE Computer Magazine, July 1994, pp. 45–55. 195Google Scholar
  20. [20]
    T. Sterling, D. Becker, D. Savarese, et al., BEOWULF: A Parallel Workstation for Scientific Computation, in Proceedings of the 1995 International Conference on Parallel Processing (ICPP), Vol. 1, August 1995, pp. 11–14. 195Google Scholar
  21. [21]
    S. C. Woo, M. Ohara, E. Torrie, J. P. Singh, and A. Gupta. The SPLASH-2 Programs: Characterization and Methodological Considerations, in Proceedings of the 22nd International Symposium on Computer Architecture, Santa Margherita Ligure, Italy, June 1995, pp. 24–36. 200Google Scholar
  22. [22]
    Y. Zhou, L. Iftode, and K. Li, Performance evaluation of two home-based lazy release consistency protocols for shared virtual memory systems, in Proceedings of the 2nd Symposium on Operating System Design and Implementation, October 1996, pp. 75–88. 198Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Sven Karlsson
    • 1
  • Sung-Woo Lee
    • 2
  • Mats Brorsson
    • 1
  1. 1.Royal Institute of TechnologyStockholmSweden
  2. 2.Ditto Information Technology Inc.South Korea

Personalised recommendations