Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1596655.1596658acmconferencesArticle/Chapter ViewAbstractPublication PagespppjConference Proceedingsconference-collections
research-article

Actor frameworks for the JVM platform: a comparative analysis

Published: 27 August 2009 Publication History

Abstract

The problem of programming scalable multicore processors has renewed interest in message-passing languages and frameworks. Such languages and frameworks are typically actor-oriented, implementing some variant of the standard Actor semantics. This paper analyzes some of the more significant efforts to build actor-oriented frameworks for the JVM platform. It compares the frameworks in terms of their execution semantics, the communication and synchronization abstractions provided, and the representations used in the implementations. It analyzes the performance of actor-oriented frameworks to determine the costs of supporting different actor properties on JVM. The analysis suggests that with suitable optimizations, standard Actor semantics and some useful communication and synchronization abstractions may be supported with reasonable efficiency on the JVM platform.

References

[1]
Herb Sutter and James R. Larus. Software and the concurrency revolution. ACM Queue, 3(7):54--62, 2005.
[2]
Edward A. Lee. The problem with threads. Computer, 39(5):33--42, 2006.
[3]
Joe Armstrong. Programming Erlang: Software for a Concurrent World. Pragmatic Bookshelf, 2007.
[4]
The e language. http://www.erights.org/elang, 2000.
[5]
C. Varela and G. Agha. Programming dynamically reconfigurable open systems with SALSA. ACM SIGPLAN Notices, 36(12):20--34, 2001.
[6]
Edward A. Lee. Overview of the ptolemy project. Technical Report UCB/ERL M03/25, University of California, Berkeley, 2003.
[7]
Microsoft Corporation. Axum programming language. http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx, 2008-09.
[8]
D. Kafura. ACT++: building a concurrent C++ with actors. Journal of Object-Oriented Programming, 3(1):25--37, 1990.
[9]
D. C. Sturman and G. A. Agha. A protocol description language for customizing failure semantics. In Proceedings of 13th Symposium on Reliable Distributed Systems, pages 148--157, Oct 1994.
[10]
Woo Young Kim. ThAL: An Actor System for Efficient and Scalable Concurrent Computing. PhD thesis, University of Illinois at Urbana-Champaign, 1997.
[11]
J. P. Briot. Actalk: a Test bed for Classifying and Designing Actor Languages in the Smalltalk-80 Environment. In Proceedings of the 1989 European Conference on Object-Oriented Programming, page 109. Cambridge University Press, 1989.
[12]
Christian Tismer. Stackless python. http://www.stackless.com/, 2004--09.
[13]
Jacob Lee. Parley. http://osl.cs.uiuc.edu/parley/, 2007.
[14]
Jonathan Sillito. Stage: exploring erlang style concurrency in ruby. In IWMSE '08: Proceedings of the 1st international workshop on Multicore software engineering, pages 33--40, New York, NY, USA, 2008. ACM.
[15]
Microsoft Corporation. Asynchronous agents library. http://msdn.microsoft.com/en-us/library/dd492627(VS.100).aspx, 2008--09.
[16]
Mike Rettig. Retlang. http://code.google.com/p/retlang/, 2007--09.
[17]
P. Haller and M. Odersky. Actors That Unify Threads and Events. In 9th International Conference on Coordination Models and Languages, volume 4467 of Lecture Notes in Computer Science. Springer, 2007.
[18]
S. Srinivasan and A. Mycroft. Kilim: Isolation typed actors for Java. In Procedings if the European Conference on Object Oriented Programming (ECOOP), 2008.
[19]
Mike Rettig. Jetlang. http://code.google.com/p/jetlang/, 2008--09.
[20]
Mark Astley. The Actor Foundry: A Java-based Actor Programming Environment. Open Systems Laboratory, University of Illinois at Urbana-Champaign, 1998--99.
[21]
Myeong-Wuk Jang. The Actor Architecture Manual. Department of Computer Science, University of Illinois at Urbana-Champaign, March 2004.
[22]
Tim Jansen. Actors guild. http://actorsguildframework.org/, 2009.
[23]
S. Rougemaille J.-P. Arcangeli, F. Migeon. Javact: a java middleware for mobile adaptive agents, February 2008.
[24]
William Zwicky. Aj: A systems for buildings actors with java. Master's thesis, University of Illinois at Urbana-Champaign, 2008.
[25]
Rex Young. Jsasb. https://jsasb.dev.java.net/, 2008--09.
[26]
Gul Agha. Actors: a model of concurrent computation in distributed systems. MIT Press, Cambridge, MA, USA, 1986.
[27]
Gul Agha, Ian A. Mason, Scott Smith, and Carolyn Talcott. A Foundation for Actor Computation. Journal of Functional Programming, 7(01):1--72, 1997.
[28]
Woo Young Kim and Gul Agha. Efficient support of location transparency in concurrent object-oriented programming languages. In Supercomputing '95: Proceedings of the 1995 ACM/IEEE conference on Supercomputing (CDROM), page 39, New York, NY, USA, 1995. ACM.
[29]
K. Sen and G. Agha. Automated systematic testing of open distributed programs. In Fundamental Approaches to Software Engineering (FASE), volume 3922 of Lecture Notes in Computer Science, pages 339--356. Springer, 2006.
[30]
Alfonso Fuggetta, Gian Pietro Picco, and Giovanni Vigna. Understanding code mobility. IEEE Transactions on Software Engineering, 24(5):342--361, 1998.
[31]
T. Walsh, P. Nixon, and S. Dobson. As strong as possible mobility: An Architecture for stateful object migration on the Internet. 6th ECOOP Workshop on Mobile Object Systems: Operating System Support, Security and Programming Languages, Sophia Antipolis (France), 2000.
[32]
Rajendra Panwar and Gul Agha. A methodology for programming scalable architectures. In Journal of Parallel and Distributed Computing, vol. 22 pp 479--487, 1994.
[33]
Gul Agha. Concurrent object-oriented programming. In in Communications of the ACM, Association for Computing Machinery, vol. 33, no. 9, pp 125--141, September, 1990.
[34]
G. Agha, S. Frolund, WY Kim, R. Panwar, A. Patterson, and D. Sturman. Abstraction and modularity mechanisms for concurrent computing. IEEE Parallel&Distributed Technology: Systems&Applications, 1(2):3--14, 1993.
[35]
T. Papaioannou. On the structuring of distributed systems: The argument for mobility. Loughborough University of Technology, 2000.
[36]
Svend Frølund. Coordinating distributed objects: an actor-based approach to synchronization. MIT Press, Cambridge, MA, USA, 1996.
[37]
I. A. Mason and C. L. Talcott. Actor languages their syntax, semantics, translation, and equivalence. Theoretical Computer Science, 220(2):409--467, 1999.
[38]
S. Frølund and G. Agha. Abstracting interactions based on message sets. In Selected papers from the ECOOP '94 Workshop on Object-Based Models and Languages for Concurrent Systems, Lecture Notes In Computer Science, pages 107--124. Springer-Verlag, 1995.
[39]
Philipp Haller and Tom Van Cutsem. Implementing joins using extensible pattern matching. In 10th International Conference on Coordination Models and Languages, volume 5052 of Lecture Notes in Computer Science, pages 135--152. Springer, 2008.
[40]
Svend Frølund and Gul Agha. A language framework for multi-object coordination. In ECOOP '93: Proceedings of the 7th European Conference on Object-Oriented Programming, pages 346--360, London, UK, 1993. Springer-Verlag.
[41]
Mark Astley, Daniel Sturman, and Gul Agha. Customizable middleware for modular distributed software. Communications of the ACM, 44(5):99--107, 2001.
[42]
Open Source. The computer language benchmarks game. http://shootout.alioth.debian.org/, 2004--2008.
[43]
Nalini Venkatasubramanian, Gul Agha, and Carolyn Talcott. Scalable distributed garbage collection for systems of active objects. In in Y. Bekkers and J. Cohen (editors), International Workshop on Memory Management, ACM SIGPLAN and INRIA, St. Malo, France, Lecture Notes in Computer Science, vol. 637, pp 134--148, Springer-Verlag, September, 1992.
[44]
S. Srinivasan. A thread of one's own. In Workshop on New Horizons in Compilers, volume 4. Citeseer, 2006.

Cited By

View all
  • (2023)Can Artificial Neural Networks Be Used to Predict Bitcoin Data?Automation10.3390/automation40300144:3(232-246)Online publication date: 25-Aug-2023
  • (2023)Transparent Actor Model2023 IEEE/ACM 11th International Conference on Formal Methods in Software Engineering (FormaliSE)10.1109/FormaliSE58978.2023.00018(97-107)Online publication date: May-2023
  • (2022)Robotics Concurrency: A Holistic Implementation using Actors and Promises2022 International Conference on Computational Intelligence and Sustainable Engineering Solutions (CISES)10.1109/CISES54857.2022.9844382(154-159)Online publication date: 20-May-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PPPJ '09: Proceedings of the 7th International Conference on Principles and Practice of Programming in Java
August 2009
200 pages
ISBN:9781605585987
DOI:10.1145/1596655
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 August 2009

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. JVM
  2. Java
  3. abstractions
  4. actors
  5. comparison
  6. frameworks
  7. libraries
  8. performance
  9. semantics

Qualifiers

  • Research-article

Funding Sources

Conference

PPPJ '09
PPPJ '09: Principles and Practice of Programming in Java
August 27 - 28, 2009
Alberta, Calgary, Canada

Acceptance Rates

Overall Acceptance Rate 29 of 58 submissions, 50%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)19
  • Downloads (Last 6 weeks)2
Reflects downloads up to 12 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Can Artificial Neural Networks Be Used to Predict Bitcoin Data?Automation10.3390/automation40300144:3(232-246)Online publication date: 25-Aug-2023
  • (2023)Transparent Actor Model2023 IEEE/ACM 11th International Conference on Formal Methods in Software Engineering (FormaliSE)10.1109/FormaliSE58978.2023.00018(97-107)Online publication date: May-2023
  • (2022)Robotics Concurrency: A Holistic Implementation using Actors and Promises2022 International Conference on Computational Intelligence and Sustainable Engineering Solutions (CISES)10.1109/CISES54857.2022.9844382(154-159)Online publication date: 20-May-2022
  • (2022)Autonomous Economic Agent FrameworkEngineering Multi-Agent Systems10.1007/978-3-030-97457-2_14(237-253)Online publication date: 10-Mar-2022
  • (2021)Intelligent Health Information Services Requirements Revisited from an Actor's Perspective2021 IEEE International Conference on Digital Health (ICDH)10.1109/ICDH52753.2021.00047(244-253)Online publication date: Sep-2021
  • (2021)Actor Model versus TPL for applications development2021 16th International Conference on Engineering of Modern Electric Systems (EMES)10.1109/EMES52337.2021.9484154(1-4)Online publication date: 10-Jun-2021
  • (2021)Adaptive Complex Systems: Digital TwinsArtificial Intelligence to Solve Pervasive Internet of Things Issues10.1016/B978-0-12-818576-6.00011-3(211-238)Online publication date: 2021
  • (2021)Performance Comparison of Two Java-Based Actor SystemsProceedings of Sixth International Congress on Information and Communication Technology10.1007/978-981-16-1781-2_9(79-88)Online publication date: 10-Sep-2021
  • (2019)State Actor Model for Cloud-Based Online AuctionExploring Security in Software Architecture and Design10.4018/978-1-5225-6313-6.ch007(170-188)Online publication date: 2019
  • (2019)Making Sense of Actor BehaviourProceedings of the 12th Innovations in Software Engineering Conference (formerly known as India Software Engineering Conference)10.1145/3299771.3299783(1-10)Online publication date: 14-Feb-2019
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media