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

An Asynchronous Scheme for Rollback Recovery in Message-Passing Concurrent Programming Languages

Published: 21 May 2024 Publication History
  • Get Citation Alerts
  • Abstract

    Rollback recovery strategies are well-known in concurrent and distributed systems. In this context, recovering from unexpected failures is even more relevant given the non-deterministic nature of execution, which means that it is practically impossible to foresee all possible process interactions.
    In this work, we consider a message-passing concurrent programming language where processes interact through message sending and receiving, but shared memory is not allowed. In this context, we design a checkpoint-based rollback recovery strategy that does not need a central coordination. For this purpose, we extend the language with three new operators: check, commit, and rollback. Furthermore, our approach is purely asynchronous, which is an essential ingredient to developing a source-to-source program instrumentation implementing a rollback recovery strategy.

    References

    [1]
    E. N. Elnozahy, Lorenzo Alvisi, Yi-Min Wang, and David B. Johnson. 2002. A survey of rollback-recovery protocols in message-passing systems. ACM Comput. Surv. 34, 3 (2002), 375--408.
    [2]
    Erlang website 2021. URL: https://www.erlang.org/.
    [3]
    Giovanni Fabbretti, Ivan Lanese, and Jean-Bernard Stefani. 2023. A Behavioral Theory For Crash Failures and Erlang-style Recoveries In Distributed Systems. Technical Report RR-9511. INRIA. https://hal.science/hal-04123758
    [4]
    John Field and Carlos A. Varela. 2005. Transactors: a programming model for maintaining globally consistent distributed state in unreliable environments. In Proceedings of POPL 2005, Jens Palsberg and Martín Abadi (Eds.). ACM, 195--208.
    [5]
    Adrian Francalanza, Claudio Antares Mezzina, and Emilio Tuosto. 2018. Reversible Choreographies via Monitoring in Erlang. In Proceedings of DAIS 2018 (LNCS, Vol. 10853), Silvia Bonomi and Etienne Rivière (Eds.). Springer, 75--92.
    [6]
    Carl Hewitt, Peter Boehler Bishop, and Richard Steiger. 1973. A Universal Modular ACTOR Formalism for Artificial Intelligence. In Proceedings of the 3rd International Joint Conference on Artificial Intelligence, Nils J. Nilsson (Ed.). William Kaufmann, 235--245. http://ijcai.org/Proceedings/73/Papers/027B.pdf
    [7]
    Kohei Honda, Nobuko Yoshida, and Marco Carbone. 2008. Multiparty asynchronous session types. In Proceedings of POPL 2008, George C. Necula and Philip Wadler (Eds.). ACM, 273--284.
    [8]
    Leslie Lamport. 1978. Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM 21, 7 (1978), 558--565.
    [9]
    Ivan Lanese and Doriana Medic. 2020. A General Approach to Derive Uncontrolled Reversible Semantics. In Proceedings of CONCUR 2020 (LIPIcs, Vol. 171), Igor Konnov and Laura Kovács (Eds.). Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 33:1--33:24.
    [10]
    Ivan Lanese, Naoki Nishida, Adrián Palacios, and Germán Vidal. 2018. A Theory of Reversibility for Erlang. Journal of Logical and Algebraic Methods in Programming 100 (2018), 71--97.
    [11]
    Ivan Lanese, Adrián Palacios, and Germán Vidal. 2021. Causal-Consistent Replay Reversible Semantics for Message Passing Concurrent Programs. Fundam. Informaticae 178, 3 (2021), 229--266.
    [12]
    Ivan Lanese, Davide Sangiorgi, and Gianluigi Zavattaro. 2019. Playing with Bisimulation in Erlang. In Models, Languages, and Tools for Concurrent and Distributed Programming - Essays Dedicated to Rocco De Nicola on the Occasion of His 65th Birthday (LNCS, Vol. 11665), Springer, 71--91.
    [13]
    Claudio Antares Mezzina, Francesco Tiezzi, and Nobuko Yoshida. 2023. Rollback Recovery in Session-Based Programming. In Proceedings of COORDINATION 2023 (LNCS, Vol. 13908), Sung-Shik Jongmans and Antónia Lopes (Eds.). Springer, 195--213.
    [14]
    Janwillem Swalens, Joeri De Koster, and Wolfgang De Meuter. 2017. Transactional actors: communication in transactions. In Proceedings of the 4th ACM SIGPLAN International Workshop on Software Engineering for Parallel Systems, SEPSSPLASH 2017, ACM, 31--41.
    [15]
    Germán Vidal. 2023. An Asynchronous Scheme for Rollback Recovery in Message-Passing Concurrent Programming Languages. CoRR abs/2401.00087 (2023). https://arxiv.org/abs/2401.00087
    [16]
    Germán Vidal. 2023. From Reversible Computation to Checkpoint-Based Rollback Recovery for Message-Passing Concurrent Programs. In Proceedings of FACS 2023 (LNCS), Javier Cámara and Sung-Shik Jongmans (Eds.). Springer. To appear. Also available from the Computing Research Repository (CoRR) at https://arxiv.org/abs/2309.04873.

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SAC '24: Proceedings of the 39th ACM/SIGAPP Symposium on Applied Computing
    April 2024
    1898 pages
    ISBN:9798400702433
    DOI:10.1145/3605098
    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: 21 May 2024

    Check for updates

    Author Tags

    1. message-passing concurrency
    2. rollback recovery
    3. checkpointing

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    SAC '24
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 7
      Total Downloads
    • Downloads (Last 12 months)7
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 10 Aug 2024

    Other Metrics

    Citations

    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