Skip to main content

Experiences developing a virtual shared memory system using high-level object paradigms

  • Conference paper
  • First Online:
  • 180 Accesses

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

Abstract

Shared-memory programming is still a common and popular way of utilizing parallel machines for high-performance computing. Virtual shared memory (VSM) systems promote a gentle migration path allowing the execution of shared-memory programs on distributed-memory machines. Such kind of systems are both complex and extremely sensitive to performance issues. Therefore many VSM systems still handle distribution aspects manually by means of low-level message-passing operations to gain maximum performance. In contrast, in the Peace operating system family almost all distribution aspects have been covered conveniently and yet efficiently by so-called dual objects. In this paper the VSM subsystem, called Vote, of Peace is presented as a case study for complex systems services that claim for high-level but lightweight object models with an efficient implementation.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A.Grimshaw. Easy-to-use parallel processing with Mentat. IEEE Computer, 26(5), May 1993.

    Google Scholar 

  2. B. N. Bershad and J. M. Zekauskas. Midway: Shared Memory Parallel Programming with Entry Consistency for Distributed Memory Multiprocessors. Technical Report CMU-CS-91-170, Carnegie-Mellon University, 1991.

    Google Scholar 

  3. G. Cabillic, T. Priol, and I. Puaut. Myoan: An Implementation of the Koan Shared Virtual Memory on the Intel Paragon. Technical Report 812, Irisa, Rennes, 1994.

    Google Scholar 

  4. J. B. Carter. Efficient Distributed Shared Memory Based on Multi-Protocol Release Consistency. PhD thesis, Rice University, 1993.

    Google Scholar 

  5. K. M. Chandy and C. Kesselman. CC++: A Declarative Concurrent Object-Oriented Programming Notation. In Research Directions in Concurrent Object-Oriented Programming. MIT Press, 1993.

    Google Scholar 

  6. A. Chien, U.S. Reddy, J. Plevyak, and J. Dolby. ICC++ — A C++ Dialect for High Performance Parallel Computing. In Proceedings of the 2nd JSSST International Symposium on Object Technologies for Advanced Software, ISOTAS'96, Kanazawa, Japan, March 1996. Springer.

    Google Scholar 

  7. J. Cordsen. Basing Virtually Shared Memory on a Family of Consistency Models. In Proceedings of the IPPS Workshop on Support for Large-Scale Shared Memory Architectures, pages 58–72, Cancun, Mexico, April 26th, 1994.

    Google Scholar 

  8. J. Cordsen, Th. Garnatz, A. Gerischer, M. D. Gubitoso, U. Haack, M. Sander, and Schröder-Preikschat. Vote for peace — Implementation and Performance of a Parallel Operating System. IEEE Concurrency, 5(2):16–27, 1997.

    Article  Google Scholar 

  9. Object Management Group Document. The Common Object Request Broker: Architecture and Specification 2.0. Technical report, OMG.

    Google Scholar 

  10. A. N. Habermann, L. Flon, and L. Cooprider. Modularization and Hierarchy in a Family of Operating Systems. Communications of the ACM, 19(5):266–272, 1976.

    Article  MATH  Google Scholar 

  11. Yutaka Ishikawa, Atsushi Hori, Mitsuhisa Sato, Motohiko Matsuda, Jörg Nolte, Hiroshi Tezuka, Hiroki Konaka, Munenori Maeda, and Kazuto Kubota. Design and Implementation of Metalevel Architecture in C++ — MPC++ Approach-. In Reflection '96, 1996.

    Google Scholar 

  12. L. Lamport. How to make a Multiprocessor Computer that Correctly Executes Multiprocessor Programs. IEEE Transactions on Computers, C-28(9):241–248, September 1979.

    Google Scholar 

  13. D. Lenoski, J. Laudon, T. Joe, D. Nakahira, L. Stevens, A. Gupta, and J. Hennessy. The DASH Prototype: Implementation and Performance. In Proceedings of the 19th Annual International Symposium on Computer Architecture, pages 92–103, Gold Coast, Australia, May 19–21, 1992.

    Google Scholar 

  14. Henry M. Levy and Ewan D. Tempero. Modules, Objects, and Distributed Programming: Issues in RPC and Remote Object Invocation. Software—Practice and Experience, 21(1):77–90, January 1991.

    Google Scholar 

  15. K. Li. Shared Virtual Memory on Loosely Coupled Multiprocessors. PhD thesis, Yale University, 1986.

    Google Scholar 

  16. H. Lieberman. Using Prototypical Objects to Implement Shared Behavior in Object-Oriented Systems. In Special Issue of SIGPLAN notices, volume 21, pages 214–223. ACM, November 1986.

    Google Scholar 

  17. Mesaac Makpangou, Yvon Gourhant, Jean-Pierre Le Narzul, and Marc Shapiro. Structuring Distributed Applications as Fragmented Objects. Rapport de recherche 1404, Institut National de la Recherche en Informatique et Automatique, Rocquencourt (France), January 1991.

    Google Scholar 

  18. O. M. Nierstrasz. Active Objects in Hybrid. In Special Issue of SIGPLAN notices, volume 22, pages 243–253. ACM, December 1987.

    Google Scholar 

  19. J. Nolte. Language Level Support for Remote Object Invocation. Arbeitspapiere der GMD 654, Gesellschaft für Mathematik und Datenverarbeitung, St. Augustin, Germany, June 1992.

    Google Scholar 

  20. J. Nolte and W. Schröder-Preikschat. An Object-Oriented Computing Surface for Distributed Memory Architectures. In Proceedings of the Twenty-Sixth Annual Hawaii International Conference on System Sciences, volume 2, pages 134–143, Maui, Hawaii, January 5–8, 1993. IEEE Computer Society Press.

    Google Scholar 

  21. D. L. Parnas. Designing Software for Ease of Extension and Contraction. IEEE Transactions on Software Engineering, SE-5(2), 1979.

    Google Scholar 

  22. W. Schröder-Preikschat. The Logical Design of Parallel Operating Systems. Prentice Hall International, 1994. ISBN 0-13-183369-3.

    Google Scholar 

  23. M. Shapiro. Structure and Encapsulation in Distributed Systems: the Proxy Principle. In Proceedings of the 6th International Conference on Distributed Computing Systems, pages 198–204, Cambridge, MA, 1986.

    Google Scholar 

  24. P. Wegner. Classification in Object-Oriented Systems. SIGPLAN Notices, 21(10):173–182, 1986.

    Article  MathSciNet  Google Scholar 

  25. Peter Wegner. Dimensions of Object-Based Language Design. Special issue of SIGPLAN Notices, 22(12):88–97, October 1987.

    Google Scholar 

  26. The Europa WG. EUROPA Parallel C++ Specification. Technical report, http://www.dcs.kcl.ac.uk/EUROPA, 1997.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Eric Jul

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Cordsen, J., Nolte, J., Schröder-Preikschat, W. (1998). Experiences developing a virtual shared memory system using high-level object paradigms. In: Jul, E. (eds) ECOOP’98 — Object-Oriented Programming. ECOOP 1998. Lecture Notes in Computer Science, vol 1445. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0054096

Download citation

  • DOI: https://doi.org/10.1007/BFb0054096

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64737-9

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics