Skip to main content

OMPC++ — A Portable High-Performance Implementation of DSM using OpenC++ Reflection

  • Conference paper
  • First Online:
Meta-Level Architectures and Reflection (Reflection 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1616))

Included in the following conference series:

Abstract

Platform portability is one of the utmost demanded properties of a system today, due to the diversity of runtime execution environment of wide-area networks, and parallel programs are no exceptions. However, parallel execution environments are VERY diverse, could change dynamically, while performance must be portable as well. As a result, techniques for achieving platform portability are sometimes not appropriate, or could restrict the programming model, e.g., to simple message passing. Instead, we propose the use of reflection for achieving platform portability of parallel programs. As a prototype experiment, a software DSM system called OMPC++ was created which utilizes the compile-time metaprogramming features of OpenC++ 2.5 to generate a message-passing MPC++ code from a SPMD-style, shared-memory C++ program. The translation creates memory management objects on each node to manage the consistency protocols for objects arrays residing on different nodes. Read- and write- barriers are automatically inserted on references to shared objects. The resulting system turned out to be quite easy to construct compared to traditional DSM construction methodologies. We evaluated this system on a PC cluster linked by the Myrinet gigabit network, and resulted in reasonable performance compared to a high-performance SMP.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. [ACD+96]_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 Warkstations. IEEE Computer, 29(2):18–28, Feb. 1996.

    Google Scholar 

  2. Beowulf Project. Beowulf Homepage. http://beowulf.gsfc.nasa.gov/.

    Google Scholar 

  3. Brain N. Bershad, Matthew J. Zekauskas, and Wayne A. Sawdown. The Midway Distributed Shared Memory System. In Proceedings of the IEEE CompCon Conference, 1993

    Google Scholar 

  4. Shigeru Chiba. A Metaobject Protocol for C++. In Proceedings of OOPSLA’95, pages 285–299, 1995.

    Google Scholar 

  5. Shigeru Chiba. OpenC++ 2.5 Reference Mannual, 1997.

    Google Scholar 

  6. Yutaka Ishikawa and et.al. Design and Implementation of Metalevel Architecture in C++ — MPC++ Approach —. In Proceedings of Reflection’96, Apr. 1996.

    Google Scholar 

  7. Yutaka Ishikawa. Multiple Threads Template Library — MPC++ Version2.0 Level 0 Document —. TR 96012, RWCP, 1996.

    Google Scholar 

  8. Kirk L. Johnson, M. Frans Kaashoek, and Deborah A. Wallach. CRL: High-Performance All-Software Distributed Shared Memory. In Proceedings of the Fifteenth Symosium on Operating Systems Principles, Dec. 1995.

    Google Scholar 

  9. Pete Keleher. Lazy Release Consistency for Distributed Shared Memory. PhD thesis, Dept. of Computer Science, Rice University, Dec. 1994.

    Google Scholar 

  10. K. Li and P. Hudak. Memory Coherence in Shared Virtual Memory Systems. ACM Transactions on Computer Systems, 7(4):321–359, Nov 1989.

    Article  Google Scholar 

  11. Jae Bum Lee and Chu Shik Jhon. Reducing Coherence Overhead of Barrier Synchronization in Software DSMs. In SC’98, Nov. 1998.

    Google Scholar 

  12. [MOS+98]_Satoshi Matsuoka, Hirotaka Ogawa, Kouya Shimura, Yasunori Kimura, and Koichiro Hotta. OpenJIT — A Reflective Java JIT Compiler. In Proceedings of OOPSLA’98 Workshop on Reflective Programming in C++ and Java, pages 16–20, Oct. 1998.

    Google Scholar 

  13. Myricom, Inc. Myricom Homepage. http://www.myri.com/.

    Google Scholar 

  14. OpenMP Architecture Review Board. OpenMP: A Proposed Industry Standard API for Shared Memory Programming., Oct. 1997.

    Google Scholar 

  15. Daniel J. Scales, Kourosh Gharachorloo, and Chandramohan A. Thekkath. Shasta: A Low Overhead, Software-Only Approach for Supporting Fine-Grain Shared Memory. In Proceedings of ASPLOS VII, Oct. 1996.

    Google Scholar 

  16. Stanford Univ. SUIF Homepage. http://www-suif.stanford.edu/.

    Google Scholar 

  17. [WOT+95]_Steven Cameron Woo, Moriyoshi Ohara, Evan Torrie, Jaswinder Pal Singh, and Anoop Gupta. The SPLASH-2 Programs: Characterization and Methodological Considerations. In Proceedings of the 22nd Annual International Symposium on Computer Architecture, pages 24–36, Jun. 1995.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Sohda, Y., Ogawa, H., Matsuoka, S. (1999). OMPC++ — A Portable High-Performance Implementation of DSM using OpenC++ Reflection. In: Cointe, P. (eds) Meta-Level Architectures and Reflection. Reflection 1999. Lecture Notes in Computer Science, vol 1616. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48443-4_20

Download citation

  • DOI: https://doi.org/10.1007/3-540-48443-4_20

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66280-8

  • Online ISBN: 978-3-540-48443-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics