---
_id: '6001'
abstract:
- lang: eng
text: "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.\r\nIn 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.\r\nInitial empirical
evidence shows that ThreadScan scales surprisingly well and requires negligible
programming effort beyond the standard use of Malloc and Free."
article_number: '18'
author:
- first_name: Dan-Adrian
full_name: Alistarh, Dan-Adrian
id: 4A899BFC-F248-11E8-B48F-1D18A9856A87
last_name: Alistarh
orcid: 0000-0003-3650-940X
- first_name: William
full_name: Leiserson, William
last_name: Leiserson
- first_name: Alexander
full_name: Matveev, Alexander
last_name: Matveev
- first_name: Nir
full_name: Shavit, Nir
last_name: Shavit
citation:
ama: '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'
apa: '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'
chicago: '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.'
ieee: '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.'
ista: 'Alistarh D-A, Leiserson W, Matveev A, Shavit N. 2018. ThreadScan: Automatic
and scalable memory reclamation. ACM Transactions on Parallel Computing. 4(4),
18.'
mla: '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.'
short: D.-A. Alistarh, W. Leiserson, A. Matveev, N. Shavit, ACM Transactions on
Parallel Computing 4 (2018).
date_created: 2019-02-14T13:24:11Z
date_published: 2018-09-01T00:00:00Z
date_updated: 2023-02-23T13:17:54Z
day: '01'
department:
- _id: DaAl
doi: 10.1145/3201897
intvolume: ' 4'
issue: '4'
language:
- iso: eng
month: '09'
oa_version: None
publication: ACM Transactions on Parallel Computing
publication_identifier:
issn:
- 2329-4949
publication_status: published
publisher: Association for Computing Machinery
quality_controlled: '1'
related_material:
record:
- id: '779'
relation: earlier_version
status: public
scopus_import: 1
status: public
title: 'ThreadScan: Automatic and scalable memory reclamation'
type: journal_article
user_id: 3E5EF7F0-F248-11E8-B48F-1D18A9856A87
volume: 4
year: '2018'
...