A Scalable Algorithm for Decentralized Actor Termination Detection

Dan Plyukhin, G. Agha
{"title":"A Scalable Algorithm for Decentralized Actor Termination Detection","authors":"Dan Plyukhin, G. Agha","doi":"10.46298/lmcs-18(1:39)2022","DOIUrl":null,"url":null,"abstract":"Automatic garbage collection (GC) prevents certain kinds of bugs and reduces\nprogramming overhead. GC techniques for sequential programs are based on\nreachability analysis. However, testing reachability from a root set is\ninadequate for determining whether an actor is garbage: Observe that an\nunreachable actor may send a message to a reachable actor. Instead, it is\nsufficient to check termination (sometimes also called quiescence): an actor is\nterminated if it is not currently processing a message and cannot receive a\nmessage in the future. Moreover, many actor frameworks provide all actors with\naccess to file I/O or external storage; without inspecting an actor's internal\ncode, it is necessary to check that the actor has terminated to ensure that it\nmay be garbage collected in these frameworks. Previous algorithms to detect\nactor garbage require coordination mechanisms such as causal message delivery\nor nonlocal monitoring of actors for mutation. Such coordination mechanisms\nadversely affect concurrency and are therefore expensive in distributed\nsystems. We present a low-overhead deferred reference listing technique (called\nDRL) for termination detection in actor systems. DRL is based on asynchronous\nlocal snapshots and message-passing between actors. This enables a\ndecentralized implementation and transient network partition tolerance. The\npaper provides a formal description of DRL, shows that all actors identified as\ngarbage have indeed terminated (safety), and that all terminated actors--under\ncertain reasonable assumptions--will eventually be identified (liveness).","PeriodicalId":314387,"journal":{"name":"Log. Methods Comput. Sci.","volume":"8 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-04-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Log. Methods Comput. Sci.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.46298/lmcs-18(1:39)2022","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

Automatic garbage collection (GC) prevents certain kinds of bugs and reduces programming overhead. GC techniques for sequential programs are based on reachability analysis. However, testing reachability from a root set is inadequate for determining whether an actor is garbage: Observe that an unreachable actor may send a message to a reachable actor. Instead, it is sufficient to check termination (sometimes also called quiescence): an actor is terminated if it is not currently processing a message and cannot receive a message in the future. Moreover, many actor frameworks provide all actors with access to file I/O or external storage; without inspecting an actor's internal code, it is necessary to check that the actor has terminated to ensure that it may be garbage collected in these frameworks. Previous algorithms to detect actor garbage require coordination mechanisms such as causal message delivery or nonlocal monitoring of actors for mutation. Such coordination mechanisms adversely affect concurrency and are therefore expensive in distributed systems. We present a low-overhead deferred reference listing technique (called DRL) for termination detection in actor systems. DRL is based on asynchronous local snapshots and message-passing between actors. This enables a decentralized implementation and transient network partition tolerance. The paper provides a formal description of DRL, shows that all actors identified as garbage have indeed terminated (safety), and that all terminated actors--under certain reasonable assumptions--will eventually be identified (liveness).
一种可扩展的分散参与者终止检测算法
自动垃圾收集(GC)可以防止某些类型的错误并减少编程开销。顺序程序的GC技术是基于可达性分析的。然而,从根集测试可达性不足以确定一个参与者是否是垃圾:观察一个不可达的参与者可能会向一个可达的参与者发送消息。相反,检查终止(有时也称为静止)是足够的:如果参与者当前没有处理消息并且将来无法接收消息,则终止参与者。此外,许多actor框架为所有actor提供对文件I/O或外部存储的访问;在不检查参与者的内部代码的情况下,有必要检查参与者是否已经终止,以确保它可以在这些框架中被垃圾收集。以前的垃圾检测算法需要协调机制,如因果消息传递和对参与者突变的非局部监控。这种协调机制对并发性有不利影响,因此在分布式系统中代价高昂。我们提出了一种低开销的延迟引用列表技术(称为drl),用于参与者系统中的终止检测。DRL基于异步本地快照和参与者之间的消息传递。这支持去中心化实现和瞬时网络分区容忍。本文提供了DRL的正式描述,表明所有被识别为垃圾的参与者确实已经终止(安全性),并且所有被终止的参与者——在不确定的合理假设下——最终将被识别(活动性)。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信