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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
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.
Sun Microsystems, Inc. Multithreaded Implementations and Comparison: A White Paper, 1996.
Gul Agha. ACTORS: A Model of Concurrent Computation in Distributed Systems. The MIT Press, 1986.
A. Yonezawa. ABCL: An Object-Oriented Concurrent System. MIT Press, 1990.
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.
Denis Caromel. Towards a method of object-oriented concurrent programming. Communications of the ACM, 36(9), September 1993.
Bertrand Meyer. Systematic concurrent object-oriented programming. Communications of the ACM, 36(9), September 1993.
L. V. Kale and S. Krishnan. Charm++: A portable concurrent object-oriented language. In OOPSLA’93, 1993.
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.
B. Stroustrup. The C++ Programming Language. Second Edition. Addison-Wesley, Summer 1991.
D. R. Butenhof. Programming with POSIX Threads. Addison-Wesley, 1997.
Sun Microsystems, Inc. Multithreaded Programming Guide. Solaris 2.6, 1997.
T. Q. Phan and P. K. Garg. Multithreaded Programming with Windows NT. Prentice-Hall, 1996.
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.
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.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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