ThreadScan: Automatic and scalable memory reclamation

Dan Alistarh, Alexander Matveev, William M. Leiserson, Nir Shavit

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

30 Scopus citations

Abstract

The concurrent memory reclamation problem is that of devising a way for a deallocating thread to verify that no other concurrent threads hold references to a memory block being deallocated. To date, in the absence of automatic garbage collection, there is no satisfactory solution to this problem; existing tracking methods like hazard pointers, reference counters, or epoch-based techniques like RCU, are either prohibitively expensive or require significant programming expertise, to the extent that implementing them efficiently can be worthy of a publication. None of the existing techniques are automatic or even semi-automated. In this paper, we take a new approach to concurrent memory reclamation: instead of manually tracking access to memory locations as done in techniques like hazard pointers, or restricting shared accesses to specific epoch boundaries as in RCU, our algorithm, called ThreadScan, leverages operating system signaling to automatically detect which memory locations are being accessed by concurrent threads. Initial empirical evidence shows that ThreadScan scales surprisingly well and requires negligible programming effort beyond the standard use of Malloc and Free.

Original languageEnglish
Title of host publicationSPAA 2015 - Proceedings of the 27th ACM Symposium on Parallelism in Algorithms and Architectures
PublisherAssociation for Computing Machinery
Pages123-132
Number of pages10
ISBN (Electronic)9781450335881
DOIs
StatePublished - 13 Jun 2015
Externally publishedYes
Event27th ACM Symposium on Parallelism in Algorithms and Architectures, SPAA 2015 - Portland, United States
Duration: 13 Jun 201515 Jun 2015

Publication series

NameAnnual ACM Symposium on Parallelism in Algorithms and Architectures
Volume2015-June

Conference

Conference27th ACM Symposium on Parallelism in Algorithms and Architectures, SPAA 2015
Country/TerritoryUnited States
CityPortland
Period13/06/1515/06/15

Funding

FundersFunder number
National Science Foundation

    Keywords

    • Memory management
    • Synchronization

    Fingerprint

    Dive into the research topics of 'ThreadScan: Automatic and scalable memory reclamation'. Together they form a unique fingerprint.

    Cite this