Applying Hazard Pointers to More Concurrent Data Structures

Cited 0 time in webofscience Cited 0 time in scopus
  • Hit : 49
  • Download : 0
Hazard pointers is a popular semi-manual memory reclamation scheme for concurrent data structures, where each accessing thread announces protection of each object to access and validates that the pointer is not already freed. Validation is typically done by over-approximating unreachability: if an object seems to be unreachable from the root of the data structure, the protecting thread decides not to access the object as it might have been freed. However, many efficient data structures are incompatible with validation by over-approximation as their optimistic traversal strategy intentionally ignores the warning of unreachability to achieve better performance. We design HP++, an extension to hazard pointers that supports optimistic traversal. The key idea is under-approximating unreachability during validation and patching up the potentially unsafe accesses arising from false-negatives. Thanks to optimistic traversal, data structures with HP++ outperform the same-purpose data structures with HP under contention, while consuming a similar amount of memory.
Publisher
ACM
Issue Date
2023-06-17
Language
English
Citation

35th ACM Symposium on Parallelism in Algorithms and Architectures, SPAA 2023, pp.213 - 226

DOI
10.1145/3558481.3591102
URI
http://hdl.handle.net/10203/314462
Appears in Collection
CS-Conference Papers(학술회의논문)
Files in This Item
There are no files associated with this item.

qr_code

  • mendeley

    citeulike


rss_1.0 rss_2.0 atom_1.0