Skip to main content

Evaluating a Multithreaded Runtime System for Concurrent Object-Oriented Languages

  • Conference paper
  • First Online:
Computing in Object-Oriented Parallel Environments (ISCOPE 1998)

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

  • 334 Accesses

Abstract

Traditionally, the use of multithreading capabilities of operating systems has been considered inadequate for implementing concurrent object-oriented languages because of their inefficiency and non-portability. However, current operating systems encourage programmers to use threads to manage concurrent activities, since they offer a number of advantages such as multiprocessing capabilities and thread communication through shared memory. To explore these issues, we have developed Lince, a multithreaded runtime system for concurrent objects. We describe Lince and its design philosophy and analyze its performance. The use of popular threads packages allows us to simplify system design and enhance portability. The overhead of using threads for implementing concurrent objects is negligible for medium and coarse grain applications, although it can be too expensive for those requiring many fine-grained objects.

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.

References

  1. K. Taura, S. Matsuoka, and A. Yonezawa. An efficient implementation scheme of concurrent oriented-languages on stock multicomputers. In 4th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, May 1993.

    Google Scholar 

  2. Andrew A. Chien, V. Karamcheti, and J. Plevyak. The Concert system-compiler and runtime support for efficient fine-grained concurrent object-oriented programs. Technical report, Department of Computer Science, University of Illinois, Urbana, Illinois, June 1993.

    Google Scholar 

  3. Antonio J. Nebro, Ernesto Pimentel, and José. M. Troya. Integrating an entry consistency memory model and concurrent object-oriented programming. In Christian Lengauer, Martin Griebl, and Sergei Gorlatch, editors, Third International Euro-Par Conference, volume 1300 of Lecture Notes in Computer Science. Springer-Verlag, August 1997. Passau, Germany.

    Google Scholar 

  4. Antonio J. Nebro, Ernesto Pimentel, and J. M. Troya. Distributed objects: An approach based on replication and migration. Accepted to be published in the Journal of Object Oriented Programming (JOOP), 1998.

    Google Scholar 

  5. Sun Microsystems, Inc. Multithreaded Implementations and Comparison: A White Paper, 1996.

    Google Scholar 

  6. Gul Agha. ACTORS: A Model of Concurrent Computation in Distributed Systems. The MIT Press, 1986.

    Google Scholar 

  7. A. Yonezawa. ABCL: An Object-Oriented Concurrent System. MIT Press, 1990.

    Google Scholar 

  8. C. Houck and G. Agha. Hal: A high level actor language and its distributed implementation. In 21st. International Conference on Parallel Processing, August 1992. St. Charles, IL.

    Google Scholar 

  9. Denis Caromel. Towards a method of object-oriented concurrent programming. Communications of the ACM, 36(9), September 1993.

    Google Scholar 

  10. Bertrand Meyer. Systematic concurrent object-oriented programming. Communications of the ACM, 36(9), September 1993.

    Google Scholar 

  11. L. V. Kale and S. Krishnan. Charm++: A portable concurrent object-oriented language. In OOPSLA’93, 1993.

    Google Scholar 

  12. Brian B Bershad and M J Zekauskas. Midway: Shared memory parallel programming with entry consistency for distributed memory multiprocessors. Technical Report CMU-CS-91-70-170, Carnegie-Mellon University, 1991.

    Google Scholar 

  13. B. Stroustrup. The C++ Programming Language. Second Edition. Addison-Wesley, Summer 1991.

    Google Scholar 

  14. D. R. Butenhof. Programming with POSIX Threads. Addison-Wesley, 1997.

    Google Scholar 

  15. Sun Microsystems, Inc. Multithreaded Programming Guide. Solaris 2.6, 1997.

    Google Scholar 

  16. T. Q. Phan and P. K. Garg. Multithreaded Programming with Windows NT. Prentice-Hall, 1996.

    Google Scholar 

  17. J. Plevyak, X. Zhang, and A. A. Chien. Obtaining sequential efficiency for concurrent object-oriented languages. In 22nd Symposium on Principles of Programming Languages (POPL’95), 1995. San Francisco, California.

    Google Scholar 

  18. K. Taura and A. Yonezawa. Fine-grain multithreading with minimal compiler support—a cost effective approach to implementing efficient multithreading languages. In ACM SIGPLAN’97 Conference on Programming Language Design and Implementation (PLDI), June 1997. Las Vegas, Nevada.

    Google Scholar 

  19. A. S. Grimshaw, J. B. Weissman, and W. T. Strayer. Portable run-time support for dynamic object-oriented parallel processing. ACM Transactions on Computer Systems, 14(2), May 1996.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Nebro, A.J., Pimentel, E., Troya, J.M. (1998). Evaluating a Multithreaded Runtime System for Concurrent Object-Oriented Languages. In: Caromel, D., Oldehoeft, R.R., Tholburn, M. (eds) Computing in Object-Oriented Parallel Environments. ISCOPE 1998. Lecture Notes in Computer Science, vol 1505. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49372-7_17

Download citation

  • DOI: https://doi.org/10.1007/3-540-49372-7_17

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65387-5

  • Online ISBN: 978-3-540-49372-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics