ThreadScan: Automatic and scalable memory reclamation

Alistarh D-A, Leiserson W, Matveev A, Shavit N. 2018. ThreadScan: Automatic and scalable memory reclamation. ACM Transactions on Parallel Computing. 4(4), 18.

Download
No fulltext has been uploaded. References only!

Journal Article | Published | English

Scopus indexed
Author
Alistarh, Dan-AdrianISTA ; Leiserson, William; Matveev, Alexander; Shavit, Nir
Department
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 article, 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.
Publishing Year
Date Published
2018-09-01
Journal Title
ACM Transactions on Parallel Computing
Publisher
Association for Computing Machinery
Volume
4
Issue
4
Article Number
18
ISSN
IST-REx-ID

Cite this

Alistarh D-A, Leiserson W, Matveev A, Shavit N. ThreadScan: Automatic and scalable memory reclamation. ACM Transactions on Parallel Computing. 2018;4(4). doi:10.1145/3201897
Alistarh, D.-A., Leiserson, W., Matveev, A., & Shavit, N. (2018). ThreadScan: Automatic and scalable memory reclamation. ACM Transactions on Parallel Computing. Association for Computing Machinery. https://doi.org/10.1145/3201897
Alistarh, Dan-Adrian, William Leiserson, Alexander Matveev, and Nir Shavit. “ThreadScan: Automatic and Scalable Memory Reclamation.” ACM Transactions on Parallel Computing. Association for Computing Machinery, 2018. https://doi.org/10.1145/3201897.
D.-A. Alistarh, W. Leiserson, A. Matveev, and N. Shavit, “ThreadScan: Automatic and scalable memory reclamation,” ACM Transactions on Parallel Computing, vol. 4, no. 4. Association for Computing Machinery, 2018.
Alistarh D-A, Leiserson W, Matveev A, Shavit N. 2018. ThreadScan: Automatic and scalable memory reclamation. ACM Transactions on Parallel Computing. 4(4), 18.
Alistarh, Dan-Adrian, et al. “ThreadScan: Automatic and Scalable Memory Reclamation.” ACM Transactions on Parallel Computing, vol. 4, no. 4, 18, Association for Computing Machinery, 2018, doi:10.1145/3201897.
Material in ISTA:
Earlier Version

Export

Marked Publications

Open Data ISTA Research Explorer

Search this title in

Google Scholar