{"title":"Lock-free garbage collection for multiprocessors","authors":"M. Herlihy, J. Moss","doi":"10.1145/113379.113400","DOIUrl":null,"url":null,"abstract":"Garbage collection algorithms for shared-memory multiprocessors typically rely on some form of global synchro- nization to preserve consistency. Such global synchronization may lead to problems on asynchronous architectures: if one process is halted or delayed, other, nonfaulty processes will be unable to progress. By contrast, a storage management algorithm is lock- free if (in the absence of resource exhaustion) a process that is allocating or collecting memory can be delayed at any point without forcing other processes to block. This paper presents the first algorithm for lock-free garbage collection in a realistic model. The algorithm assumes that processes synchronize by applying read, write, and cornpre&swap operations to shared memory. This algorithm uses no locks, busy-waiting, or barrier synchronization, it does not assume that processes can observe or modify one another's local variables or registers, and it does not use inter-process interrupts. Index Terms-Garbage collection, lock-free algorithms, mem- ory management, multiprocessors, shared memory, wait-free al- gorithms.","PeriodicalId":13128,"journal":{"name":"IEEE Trans. Parallel Distributed Syst.","volume":"47 1","pages":"304-311"},"PeriodicalIF":0.0000,"publicationDate":"1991-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"76","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE Trans. Parallel Distributed Syst.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/113379.113400","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 76
Abstract
Garbage collection algorithms for shared-memory multiprocessors typically rely on some form of global synchro- nization to preserve consistency. Such global synchronization may lead to problems on asynchronous architectures: if one process is halted or delayed, other, nonfaulty processes will be unable to progress. By contrast, a storage management algorithm is lock- free if (in the absence of resource exhaustion) a process that is allocating or collecting memory can be delayed at any point without forcing other processes to block. This paper presents the first algorithm for lock-free garbage collection in a realistic model. The algorithm assumes that processes synchronize by applying read, write, and cornpre&swap operations to shared memory. This algorithm uses no locks, busy-waiting, or barrier synchronization, it does not assume that processes can observe or modify one another's local variables or registers, and it does not use inter-process interrupts. Index Terms-Garbage collection, lock-free algorithms, mem- ory management, multiprocessors, shared memory, wait-free al- gorithms.