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

Integrating task parallelism with actors

Published: 19 October 2012 Publication History

Abstract

This paper introduces a unified concurrent programming model combining the previously developed Actor Model (AM) and the task-parallel Async-Finish Model (AFM). With the advent of multi-core computers, there is a renewed interest in programming models that can support a wide range of parallel programming patterns. The proposed unified model shows how the divide-and-conquer approach of the AFM and the no-shared mutable state and event-driven philosophy of the AM can be combined to solve certain classes of problems more efficiently and productively than either of the aforementioned models individually. The unified model adds actor creation and coordination to the AFM, while also enabling parallelization within actors. This paper describes two implementations of the unified model as extensions of Habanero-Java and Habanero-Scala. The unified model adds to the foundations of parallel programs, and to the tools available for the programmer to aid in productivity and performance while developing parallel software.

Supplementary Material

ZIP File (res0149.zip)
The contents of the zip file include a Makefile to allow easy generation of the pdf using the make command. To generate the postscript file required by the conference, run "make final" To generate the submitted pdf which include author names and title in the generated pdf, run "make draft"

References

[1]
G. Agha. Actors: a model of concurrent computation in distributed systems. MIT Press, Cambridge, MA, USA, 1986. ISBN 0--262-01092--5.
[2]
A. Anagnostopoulos, R. Bent, E. Upfal, and P. V. Hentenryck. A simple and deterministic competitive algorithm for online facility location. Inf. Comput., 194: 175--202, November 2004. ISSN 0890--5401.
[3]
Z. Budimlić, Burke, Cavé, Knobe, Lowney, Newton, Palsberg, Peixotto, Sarkar, Schlimbach, and Taşırlar}Knobe:CNCZ. Budimlić, M. Burke, V. Cavé, K. Knobe, G. Lowney, R. Newton, J. Palsberg, D. Peixotto, V. Sarkar, F. Schlimbach, and S. Taşırlar. Concurrent Collections. Sci. Program., 18: 203--217, August 2010. ISSN 1058--9244.
[4]
V. Cavé, J. Zhao, Y. Guo, and V. Sarkar. Habanero-Java: the New Adventures of Old X10. 9th International Conference on the Principles and Practice of Programming in Java (PPPJ), August 2011.
[5]
P. Charles, C. Grothoff, V. Saraswat, C. Donawa, A. Kielstra, K. Ebcioglu, C. von Praun, and V. Sarkar. X10: An Object-Oriented Approach to Non-uniform Cluster Computing. SIGPLAN Not., 40: 519--538, Oct. 2005. ISSN 0362--1340. 10.1145/1094811.1094852.
[6]
J. Dedecker, T. Van Cutsem, S. Mostinckx, T. D'Hondt, and W. De Meuter. Ambient-Oriented Programming in AmbientTalk. In Proceedings of the 20th European Conference on Object-Oriented Programming, ECOOP'06, pages 230--254, Berlin, Heidelberg, 2006. Springer-Verlag. ISBN 3--540--35726--2, 978--3--540--35726--1. 10.1007/11785477_16. URL http://dx.doi.org/10.1007/11785477_16.
[7]
EPCC. The Java Grande Forum Multi-threaded Benchmarks. URL http://www2.epcc.ed.ac.uk/computing/research_activities/java_grande/threads/s1contents.html.
[8]
A. Georges, D. Buytaert, and L. Eeckhout. Statistically Rigorous Java Performance Evaluation. In Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications, OOPSLA '07, pages 57--76, New York, NY, USA, 2007. ACM. ISBN 978--1--59593--786--5.
[9]
M. I. Gordon, W. Thies, and S. Amarasinghe. Exploiting Coarse-Grained Task, Data, and Pipeline Parallelism in Stream Programs. SIGOPS Oper. Syst. Rev., 40: 151--162, October 2006. ISSN 0163--5980.
[10]
P. Haller and M. Odersky. Scala Actors: Unifying thread-based and event-based programming. Theoretical Computer Science, 410 (2--3): 202--220, 2009. ISSN 0304--3975. 10.1016/j.tcs.2008.09.019. URL http://www.sciencedirect.com/science/article/pii/S0304397508006695. Distributed Computing Techniques.
[11]
Haller, Philipp. chameneos-redux.scala | FishEye: browsing scala-svn, 2011. URL https://codereview.scala-lang.org/fisheye/browse/scala-svn/scala/branches/translucent/docs/examples/actors/chameneos-redux.scala?hb=true.
[12]
C. Hewitt, P. Bishop, and R. Steiger. Artificial Intelligence A Universal Modular ACTOR Formalism for Artificial Intelligence. Proceedings of the 3rd International Joint Conference on Artificial Intelligence, Stanford, CA, August 1973.
[13]
Hewitt, Carl and Baker, Henry G. Actors and Continuous Functionals. Technical report, Massachusetts Institute of Technology, Cambridge, MA, USA, February 1978.
[14]
Imam, Shams and Sarkar, Vivek. Habanero-Scala: Async-Finish Programming in Scala. In The Third Scala Workshop (Scala Days 2012), April 2012.
[15]
R. K. Karmani, A. Shali, and G. Agha. Actor Frameworks for the JVM Platform: A Comparative Analysis. In Proceedings of the 7th International Conference on Principles and Practice of Programming in Java, PPPJ '09, pages 11--20, New York, NY, USA, 2009. ACM. ISBN 978--1--60558--598--7. 10.1145/1596655.1596658. URL http://doi.acm.org/10.1145/1596655.1596658.
[16]
R. Lublinerman, S. Chaudhuri, and P. Cerny. Parallel Programming with Object Assemblies. In Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications, OOPSLA '09, pages 61--80, New York, NY, USA, 2009. ACM. ISBN 978--1--60558--766-0. 10.1145/1640089.1640095. URL http://doi.acm.org/10.1145/1640089.1640095.
[17]
M. S. Miller, E. D. Tribble, and J. Shapiro. Concurrency Among Strangers: Programming in E as Plan Coordination. In Proceedings of the 1st International Conference on Trustworthy Global Computing, TGC'05, pages 195--229, Berlin, Heidelberg, 2005. Springer-Verlag. ISBN 3--540--30007--4, 978--3--540--30007--6. URL http://dl.acm.org/citation.cfm?id=1986262.1986274.
[18]
M. Odersky, P. Altherr, V. Cremet, I. Dragos, G. Dubochet, B. Emir, S. Mcdirmid, S. Micheloud, N. Mihaylov, M. Schinz, and et al. An Overview of the Scala Programming Language Second Edition. System, (Section 2): 15--30, 2006.
[19]
OpenMP Architecture Review Board. OpenMP Application Program Interface - Version 3.0 May 2008. URL www.openmp.org/mp-documents/spec30.pdf.
[20]
N. Raja and R. K. Shyamasundar. Actors as a Coordinating Model of Computation. In Proceedings of the 2nd International Andrei Ershov Memorial Conference on Perspectives of System Informatics, pages 191--202. Springer-Verlag, 2004. ISBN 3--540--62064--8.
[21]
R. Raman, J. Zhao, V. Sarkar, M. Vechev, and E. Yahav. Efficient Data Race Detection for Async-Finish Parallelism. In Proceedings of the First international conference on Runtime verification, RV'10, pages 368--383, Berlin, Heidelberg, 2010. Springer-Verlag. ISBN 3--642--16611--3, 978--3--642--16611--2.
[22]
R. Raman, J. Zhao, V. Sarkar, M. Vechev, and E. Yahav. Scalable and Precise Dynamic Data Race Detection for Structured Parallelism. In PLDI, 2012.
[23]
Rettig, Mike. jetlang: Message based concurrency for Java. URL http://code.google.com/p/jetlang/.
[24]
J. Schafer and A. Poetzsch-Heffter. JCoBox: Generalizing Active Objects to Concurrent Components. In Proceedings of the 24th European conference on Object-oriented programming, ECOOP'10, pages 275--299, Berlin, Heidelberg, 2010. Springer-Verlag. ISBN 3--642--14106--4, 978--3--642--14106--5. URL http://dl.acm.org/citation.cfm?id=1883978.1883996.
[25]
C. Scholliers, E. Tanter, and W. D. Meuter. Parallel Actor Monitors. In 14th Brazilian Symposium on Programming Languages, 2010.
[26]
J. Shirako, D. M. Peixotto, V. Sarkar, and W. N. Scherer. Phasers: a Unified Deadlock-Free Construct for Collective and Point-to-Point Synchronization. In Proceedings of the 22nd annual international conference on Supercomputing, ICS '08, pages 277--288, New York, NY, USA, 2008. ACM. ISBN 978--1--60558--158--3.
[27]
S. Srinivasan and A. Mycroft. Kilim: Isolation-Typed Actors for Java (A Million Actors, Safe Zero-Copy Communication). European Conference on Object Oriented Programming ECOOP 2008, 5142/2008: 104--128, 2008.
[28]
S. Taşırlar and V. Sarkar. Data-Driven Tasks and their Implementation. In Proceedings of the International Conference on Parallel Processing (ICPP) 2011, September 2011.
[29]
The Scala Programming Language. pingpong.scala. URL http://www.scala-lang.org/node/54.
[30]
W. Thies, M. Karczmarek, and S. P. Amarasinghe. StreamIt: A Language for Streaming Applications. In Computational Complexity, pages 179--196, 2002.
[31]
Typesafe Inc. Akka. URL http://akka.io/.
[32]
C. SOTER project. URL http://osl.cs.uiuc.edu/soter/.
[33]
C. Varela and G. Agha. Programming Dynamically Reconfigurable Open Systems with SALSA. ACM SIGPLAN Notices, 36 (12): 20--34, Dec. 2001. ISSN 0362--1340. 10.1145/583960.583964. URL http://doi.acm.org/10.1145/583960.583964.
[34]
R. Virding, C. Wikström, M. Williams, and J. Armstrong. Concurrent programming in ERLANG (2nd ed.). Prentice Hall International (UK) Ltd., Hertfordshire, UK, UK, 1996. ISBN 0--13--508301-X.
[35]
A. Yonezawa, J. Briot, and E. Shibayama. Object-Oriented Concurrent Programming in ABCL/1. In Conference proceedings on Object-oriented programming systems, languages and applications, OOPLSA '86, pages 258--268, New York, NY, USA, 1986. ACM. ISBN 0--89791--204--7. 10.1145/28697.28722. URL http://doi.acm.org/10.1145/28697.28722.

Cited By

View all
  • (2019)ActorX10 and Run-Time Application EmbeddingModeling and Simulation of Invasive Applications and Architectures10.1007/978-981-13-8387-8_6(129-164)Online publication date: 31-May-2019
  • (2018)Chocola: integrating futures, actors, and transactionsProceedings of the 8th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control10.1145/3281366.3281373(33-43)Online publication date: 5-Nov-2018
  • (2016)Reactive Async: expressive deterministic concurrencyProceedings of the 2016 7th ACM SIGPLAN Symposium on Scala10.1145/2998392.2998396(11-20)Online publication date: 30-Oct-2016
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applications
October 2012
1052 pages
ISBN:9781450315616
DOI:10.1145/2384616
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 47, Issue 10
    OOPSLA '12
    October 2012
    1011 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/2398857
    Issue’s Table of Contents
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: 19 October 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. actor model
  2. async-finish model
  3. fork-join model
  4. habanero-java
  5. habanero-scala
  6. parallel programming

Qualifiers

  • Research-article

Conference

SPLASH '12
Sponsor:

Acceptance Rates

Overall Acceptance Rate 268 of 1,244 submissions, 22%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2019)ActorX10 and Run-Time Application EmbeddingModeling and Simulation of Invasive Applications and Architectures10.1007/978-981-13-8387-8_6(129-164)Online publication date: 31-May-2019
  • (2018)Chocola: integrating futures, actors, and transactionsProceedings of the 8th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control10.1145/3281366.3281373(33-43)Online publication date: 5-Nov-2018
  • (2016)Reactive Async: expressive deterministic concurrencyProceedings of the 2016 7th ACM SIGPLAN Symposium on Scala10.1145/2998392.2998396(11-20)Online publication date: 30-Oct-2016
  • (2016)A Distributed Selectors Runtime System for Java ApplicationsProceedings of the 13th International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools10.1145/2972206.2972215(1-11)Online publication date: 29-Aug-2016
  • (2016)ActorX10: an actor library for X10Proceedings of the 6th ACM SIGPLAN Workshop on X1010.1145/2931028.2931033(24-29)Online publication date: 2-Jun-2016
  • (2016)On ordering problems in message passing softwareProceedings of the 15th International Conference on Modularity10.1145/2889443.2889444(54-65)Online publication date: 14-Mar-2016
  • (2016)A design pattern for optimizations in data intensive applications using ABS and JAVA 8Concurrency and Computation: Practice & Experience10.1002/cpe.348028:2(374-385)Online publication date: 1-Feb-2016
  • (2015)Инструментальное программное обеспечение для разработки и поддержки исполнения приложений научных вычислений в кластерных системахTooling software for development and execution support of scientific computing applications in cluster systemsВестник Самарского государственного технического университета. Серия «Физико-математические науки»Vestnik Samarskogo Gosudarstvennogo Tekhnicheskogo Universiteta. Seriya Fiziko-Matematicheskie Nauki10.14498/vsgtu143719:4(785-798)Online publication date: 2015
  • (2015)Panini: a concurrent programming model with modular reasoningCompanion Proceedings of the 2015 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity10.1145/2814189.2814198(30-32)Online publication date: 25-Oct-2015
  • (2015)Panini: a concurrent programming model for solving pervasive and oblivious interferenceProceedings of the 14th International Conference on Modularity10.1145/2724525.2724568(93-108)Online publication date: 16-Mar-2015
  • 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