The reliability of concurrent and distributed systems often depends on some well-known techniques for fault tolerance. One such technique is based on checkpointing and rollback recovery. Checkpointing involves processes to take snapshots of their current states regularly, so that a rollback recovery strategy is able to bring the system back to a previous consistent state whenever a failure occurs. In this paper, we consider a message-passing concurrent programming language and propose a novel rollback recovery strategy that is based on some explicit checkpointing operators and the use of a (partially) reversible semantics for rolling back the system.
翻译:并发与分布式系统的可靠性通常依赖于若干成熟的容错技术,其中一项核心技术基于检查点机制与回滚恢复。检查点要求进程定期对其当前状态进行快照,以便在故障发生时,回滚恢复策略能够将系统恢复至先前的某一一致状态。本文针对一种基于消息传递的并发编程语言,提出了一种新颖的回滚恢复策略,该策略基于显式检查点操作符,并借助(部分)可逆语义实现系统的回滚操作。