Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2824815.2824816acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Deny capabilities for safe, fast actors

Published: 26 October 2015 Publication History

Abstract

Abstract Combining the actor-model with shared memory for performance is efficient but can introduce data-races. Existing approaches to static data-race freedom are based on uniqueness and immutability, but lack flexibility and high performance implementations. Our approach, based on deny properties, allows reading, writing and traversing unique references, introduces a new form of write uniqueness, and guarantees atomic behaviours.

References

[1]
https://github.com/actor-framework/benchmarks/.
[2]
G. Agha and C. Hewitt. Concurrent programming using actors. In Object-oriented concurrent programming, pages 37– 53. MIT Press, 1987.
[3]
J. Armstrong, R. Virding, C. Wikström, and M. Williams. Concurrent programming in erlang. 1993.
[4]
H. G. Baker. "use-once" variables and linear objects: storage management, reflection and multi-threading. ACM Sigplan Notices, 30(1):45–52, 1995.
[5]
R. L. Bocchino Jr, V. S. Adve, D. Dig, S. V. Adve, S. Heumann, R. Komuravelli, J. Overbey, P. Simmons, H. Sung, and M. Vakilian. A type and effect system for deterministic parallel java. ACM Sigplan Notices, 44(10):97–116, 2009.
[6]
C. Boyapati and M. Rinard. A parameterized type system for race-free java programs. In ACM SIGPLAN Notices, volume 36, pages 56–69. ACM, 2001.
[7]
J. Boyland. Alias burying: Unique variables without destructive reads. Software: Practice and Experience, 31(6):533–553, 2001.
[8]
J. Boyland. Checking interference with fractional permissions. In Static Analysis, pages 55–72. Springer, 2003.
[9]
J. Boyland, J. Noble, and W. Retert. Capabilities for sharing. In ECOOP 2001-Object-Oriented Programming, pages 2–27. Springer, 2001.
[10]
D. Charousset, T. C. Schmidt, R. Hiesgen, and M. Wählisch. Native actors: a scalable software platform for distributed, heterogeneous environments. In Proceedings of the 2013 workshop on Programming based on actors, agents, and decentralized control, pages 87–96. ACM, 2013.
[11]
D. Clarke and T. Wrigstad. External uniqueness is unique enough. ECOOP 2003–Object-Oriented Programming, pages 59–67, 2003.
[12]
D. Clarke, T. Wrigstad, J. Östlund, and E. Johnsen. Minimal ownership for active objects. Programming Languages and Systems, pages 139–154, 2008.
[13]
D. G. Clarke, J. M. Potter, and J. Noble. Ownership types for flexible alias protection. In ACM SIGPLAN Notices, volume 33, pages 48–64. ACM, 1998.
[14]
S. Clebsch and S. Drossopoulou. Fully concurrent garbage collection of actors on many-core machines. In Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages and applications, pages 553–570. ACM, 2013.
[15]
D. Cunningham, W. Dietl, S. Drossopoulou, A. Francalanza, P. Müller, and A. J. Summers. Universe types for topology and encapsulation. In Formal Methods for Components and Objects, pages 72–112. Springer Berlin Heidelberg, 2008.
[16]
M. Dodds, X. Feng, M. Parkinson, and V. Vafeiadis. Denyguarantee reasoning. In Programming Languages and Systems, pages 363–377. Springer, 2009.
[17]
C. Flanagan and M. Abadi. Types for safe locking. In Programming Languages and Systems, pages 91–108. Springer Berlin Heidelberg, 1999.
[18]
C. S. Gordon, M. J. Parkinson, J. Parsons, A. Bromfield, and J. Duffy. Uniqueness and reference immutability for safe parallelism. In ACM SIGPLAN Notices, volume 47, pages 21– 40. ACM, 2012.
[19]
W. Gropp, E. Lusk, N. Doss, and A. Skjellum. A highperformance, portable implementation of the mpi message passing interface standard. Parallel computing, 22(6):789– 828, 1996.
[20]
D. Grossman, G. Morrisett, T. Jim, M. Hicks, Y. Wang, and J. Cheney. Region-based memory management in cyclone. In ACM SIGPLAN Notices, volume 37, pages 282–293. ACM, 2002.
[21]
P. Haller and M. Odersky. Capabilities for uniqueness and borrowing. In ECOOP 2010–Object-Oriented Programming, pages 354–378. Springer, 2010.
[22]
B. W. Lampson. Protection. ACM SIGOPS Operating Systems Review, 8(1):18–24, 1974.
[23]
N. D. Matsakis and F. S. Klock, II. The rust language. In Proceedings of the 2014 ACM SIGAda Annual Conference on High Integrity Language Technology, HILT ’14, pages 103– 104, New York, NY, USA, 2014. ACM.
[24]
M. S. Miller and J. S. Shapiro. Robust composition: towards a unified approach to access control and concurrency control. PhD thesis, Johns Hopkins University, 2006.
[25]
M. S. Miller, K.-P. Yee, J. Shapiro, et al. Capability myths demolished. Technical report, Technical Report SRL2003- 02, Johns Hopkins University Systems Research Laboratory, 2003. http://www. erights. org/elib/capability/duals, 2003.
[26]
K. Naden, R. Bocchino, J. Aldrich, and K. Bierhoff. A type system for borrowing permissions. SIGPLAN Not., 47(1):557–570, Jan. 2012.
[27]
J. Östlund, T. Wrigstad, D. Clarke, and B. Åkerblom. Ownership, uniqueness, and immutability. Objects, Components, Models and Patterns, pages 178–197, 2008.
[28]
S. Srinivasan and A. Mycroft. Kilim: Isolation-typed actors for java. In ECOOP 2008–Object-Oriented Programming, pages 104–128. Springer, 2008.
[29]
S. Stork, K. Naden, J. Sunshine, M. Mohr, A. Fonseca, P. Marques, and J. Aldrich. Æminium: A permission-based concurrent-by-default programming language approach. ACM Transactions on Programming Languages and Systems (TOPLAS), 36(1):2, 2014.
[30]
P. Wadler. Linear types can change the world. In IFIP TC, volume 2, pages 347–359. Citeseer, 1990.
[31]
Y. Zibin, A. Potanin, P. Li, M. Ali, and M. D. Ernst. Ownership and immutability in generic java. In ACM Sigplan Notices, volume 45, pages 598–617. ACM, 2010.

Cited By

View all
  • (2024)Reference Counting Deeply Immutable Data Structures with Cycles: An Intellectual AbstractProceedings of the 2024 ACM SIGPLAN International Symposium on Memory Management10.1145/3652024.3665507(131-141)Online publication date: 20-Jun-2024
  • (2024)Degrees of Separation: A Flexible Type System for Safe ConcurrencyProceedings of the ACM on Programming Languages10.1145/36498538:OOPSLA1(1181-1207)Online publication date: 29-Apr-2024
  • (2024)Qualifying System F<:: Some Terms and Conditions May ApplyProceedings of the ACM on Programming Languages10.1145/36498328:OOPSLA1(583-612)Online publication date: 29-Apr-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
AGERE! 2015: Proceedings of the 5th International Workshop on Programming Based on Actors, Agents, and Decentralized Control
October 2015
64 pages
ISBN:9781450339018
DOI:10.1145/2824815
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 the author(s) 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: 26 October 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Keywords: actors
  2. capabilities
  3. concurrency
  4. message passing
  5. type systems

Qualifiers

  • Research-article

Conference

SPLASH '15
Sponsor:

Acceptance Rates

Overall Acceptance Rate 19 of 35 submissions, 54%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)34
  • Downloads (Last 6 weeks)5
Reflects downloads up to 01 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Reference Counting Deeply Immutable Data Structures with Cycles: An Intellectual AbstractProceedings of the 2024 ACM SIGPLAN International Symposium on Memory Management10.1145/3652024.3665507(131-141)Online publication date: 20-Jun-2024
  • (2024)Degrees of Separation: A Flexible Type System for Safe ConcurrencyProceedings of the ACM on Programming Languages10.1145/36498538:OOPSLA1(1181-1207)Online publication date: 29-Apr-2024
  • (2024)Qualifying System F<:: Some Terms and Conditions May ApplyProceedings of the ACM on Programming Languages10.1145/36498328:OOPSLA1(583-612)Online publication date: 29-Apr-2024
  • (2024)Formally understanding Rust’s ownership and borrowing system at the memory levelFormal Methods in System Design10.1007/s10703-024-00460-3Online publication date: 9-Jul-2024
  • (2024)A Survey of Actor-Like Programming Models for Serverless ComputingActive Object Languages: Current Research Trends10.1007/978-3-031-51060-1_5(123-146)Online publication date: 29-Jan-2024
  • (2023)CAPSTONEProceedings of the 32nd USENIX Conference on Security Symposium10.5555/3620237.3620282(787-804)Online publication date: 9-Aug-2023
  • (2023)When Concurrency Matters: Behaviour-Oriented ConcurrencyProceedings of the ACM on Programming Languages10.1145/36228527:OOPSLA2(1531-1560)Online publication date: 16-Oct-2023
  • (2023)On the Interoperability of Programming Languages via Translation2023 Congress in Computer Science, Computer Engineering, & Applied Computing (CSCE)10.1109/CSCE60160.2023.00413(2579-2585)Online publication date: 24-Jul-2023
  • (2022)Coeffects for sharing and mutationProceedings of the ACM on Programming Languages10.1145/35633196:OOPSLA2(870-898)Online publication date: 31-Oct-2022
  • (2022)A flexible type system for fearless concurrencyProceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation10.1145/3519939.3523443(458-473)Online publication date: 9-Jun-2022
  • Show More Cited By

View Options

Get Access

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