分布式演员终止检测的可扩展算法

摘要:自动垃圾回收(GC)能够防止某些类型的错误并减少编程开销。顺序程序的GC技术是基于可达性分析的。然而,从根集合测试可达性对于确定一个actor是否是垃圾是不足够的:注意到一个不可达的actor可能会发送消息给一个可达的actor。相反,检查终止(有时也称为安静)是足够的:如果一个actor当前没有在处理消息并且将来也不能接收消息,则该actor已终止。此外,许多actor框架为所有actor提供对文件I/O或外部存储的访问;在不检查actor的内部代码的情况下,需要检查actor是否已终止以确保在这些框架中可以进行垃圾回收。以前检测actor垃圾的算法需要诸如因果消息传递或对actor进行非本地监控的协调机制。这些协调机制对并发性产生负面影响,因此在分布式系统中代价昂贵。我们提出了一种用于actor系统中终止检测的低开销延迟引用列表技术(称为DRL)。DRL基于异步本地快照和actor之间的消息传递。这使得可以进行分散式实现和短暂网络分区容忍。本文提供了DRL的形式化描述,表明所有被识别为垃圾的actor确实已终止(安全性),并且在某些合理假设下,所有已终止的actor最终将被识别(活性)。

作者:Dan Plyukhin and Gul Agha

论文ID:2104.05128

分类:Logic in Computer Science

分类简称:cs.LO

提交时间:2023-06-22

PDF 下载: 英文版 中文版pdf翻译中