@inproceedings{02cca76be7f3496db75662442a3a18da,
title = "Concurrent garbage collection in the actor model",
abstract = "In programming languages where memory may be allocated dynamically, automatic garbage collection (GC) can improve the efficiency of program execution while preventing program errors caused by incorrectly removed memory locations. In actor systems, GC poses some challenges that make it much costlier than in the sequential setting: Besides references from reachable actors, we have to consider inverse references from potentially active actors to reachable actors. One proposal, adopted in the runtime for the actor programming language Pony, uses causal message delivery and a centralized detection algorithm. While this is efficient in a multicore setting, the solution is too expensive for a distributed actor runtime. In this work, we show how the causal order message delivery requirement may be removed. Specifically, we describe a tracing collector of distributed actor garbage with centralized and decentralized variants. Both are guaranteed not to collect any non-garbage actors (safety) and to eventually collect all garbage actors (liveness).",
keywords = "Distributed systems, Garbage collection",
author = "Dan Plyukhin and Gul Agha",
note = "Publisher Copyright: {\textcopyright} 2018 Copyright held by the owner/author(s).; 8th International Workshop on Programming based on Actors, Agents, and Decentralized Control, AGERE! 2018, co-located with SPLASH 2018 ; Conference date: 05-11-2018 Through 05-11-2018",
year = "2018",
month = nov,
day = "5",
doi = "10.1145/3281366.3281368",
language = "English (US)",
series = "AGERE 2018 - Proceedings of the 8th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control, co-located with SPLASH 2018",
publisher = "Association for Computing Machinery",
pages = "44--53",
editor = "Federico Bergenti and {De Koster}, Joeri and Juliana Franco",
booktitle = "AGERE 2018 - Proceedings of the 8th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control, co-located with SPLASH 2018",
address = "United States",
}