Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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
  • Get Citation Alerts
  • 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

    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)1
    Reflects downloads up to 10 Aug 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