English

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

Programming Languages 2024-01-08 v2

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.

Keywords

Cite

@article{arxiv.2401.00087,
  title  = {An Asynchronous Scheme for Rollback Recovery in Message-Passing Concurrent Programming Languages},
  author = {Germán Vidal},
  journal= {arXiv preprint arXiv:2401.00087},
  year   = {2024}
}

Comments

This is the author's version of the work. It is posted here for your personal use. Not for redistribution. The definitive version was published in the Proceedings of the 39th ACM/SIGAPP Symposium on Applied Computing (SAC '24), April 8-12, 2024, Avila, Spain, ACM, https://doi.org/10.1145/3605098.3636051

R2 v1 2026-06-28T14:04:56.673Z