Applying Distributed Shared Memory Techniques for Implementing Distributed Objects

  • Antonio J. Nebro
  • Ernesto Pimentel
  • José M. Troya
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1357)

Abstract

In this paper we study how the potential advantages of distributed shared memory (DSM) techniques can be applied to concurrent object-oriented languages. We assume a DSM scheme based on an entry consistency memory model and propose an object model that can incorporate that DSM scheme. The object model is characterized by the requirement of explicitly enclosing object invocations between acquire and release operations, and the distinction between command and query operations. Details of a thread-based implementation are discussed, and results show that significant speed-ups can be obtained. We also conclude that using kernel-level threads can lead to better performance, and the overhead versus user-level threads is negligible.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bershard, B. N., Zekauskas, M. J. “Midway: Shared Memory Parallel Programming with Entry Consistency for Distributed Memory Multiprocessors”. Tech. Report CMU-CS-91-170. 1991.Google Scholar
  2. 2.
    Bershard, B. N., Zekauskas, M. J., Sawdon, W. A. “The Midway Distributed Shared Memory System”. Compcon 1993.Google Scholar
  3. 3.
    Bal, H. E., Kaashoek, M. F., Tanenbaum, A. S. “Orca: A Language for Parallel Programming of Distributed Systems”. IEEE Transactions on Software Engineering. Vol. 18, No. 3, March 1992.Google Scholar
  4. 4.
    Caromel, D: “Toward a Method of Object-Oriented Concurrent Programming”. Communications of the ACM, Vol. 36, No. 9. September 1993.Google Scholar
  5. 5.
    Carriero, N, Gelernter, D.: “How to Write Parallel Programs”. The MIT Press. 1990.Google Scholar
  6. 6.
    Carter, J.B., Bennet, J.K., Zwaenepoel, W.: “Implementation and Performance of Munin”. Proc. 13th Symp. on Operating Systems Principles, ACM, pp. 152–164, 1991.Google Scholar
  7. 7.
    Dasgupta, P., LeBlanc Jr., R. J., Ahamad, M., Ramachandran, U.: “The Clouds Distributed Operating System”. IEEE Computer, vol. 24, no. 11. 1991.Google Scholar
  8. 8.
    Karaorman, M., Bruno, J.: “Introducing a Concurrency to a Sequential Language”. Communications of the ACM, Vol. 36, No. 9. September 1993.Google Scholar
  9. 9.
    Li, K., Hudak, P.: “Memory Coherence in Shared Virtual Memory Systems”. ACM Trans. on Computer Systems, vol. 7. Nov. 1989.Google Scholar
  10. 10.
    Mosberger, D.: “Memory Consistency Models”. Operating Systems Review, ACM Press. Vol. 27, No. 1. January 1993.Google Scholar
  11. 11.
    Meyer, B: “Systematic Concurrent Object-Oriented Programming”. Communications of the ACM, vol. 36, no. 9. September 1993.Google Scholar
  12. 12.
    Papathomas, M.: “Concurrency Issues in Object-Oriented Languages”. Tech. Rep. Centre Universitaire Informatique. University of Geneva, D. Tsichritzis, Ed., 1989.Google Scholar
  13. 13.
    Protic, J., Tomasevic, M., Milutinovic, V.: “Distributed Shared Memory: Concepts and Systems”. IEEE Parellel and Distributed Technology. Summer 1996.Google Scholar
  14. 14.
    Stroustrup, B.: “The C++ Programming Language. Second Edition”. Addison-Wesley. 1991.Google Scholar
  15. 15.
    Stumm, M., Zhou, S.: “Algorithms Implementing Distributed Shared Memory”. Computer, Vol. 23, No 5. May 1990.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Antonio J. Nebro
    • 1
  • Ernesto Pimentel
    • 1
  • José M. Troya
    • 1
  1. 1.Depto. de Lenguajes y Ciencias de la ComputaciónUniversidad de Málaga E.T.S.I en InformáticaMálagaSpain

Personalised recommendations