CppCon 2021 has ended
Back To Schedule
Thursday, October 28 • 12:30pm - 1:30pm
Hazard Pointer Synchronous Reclamation Beyond Concurrency TS2

Log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.
Delayed broadcast

The hazard pointer deferred reclamation technique supports low-latency access to dynamic objects by deferring the reclamation of objects that may be removed while being accessed concurrently until reclamation is safe. Many uses of hazard pointers require support for synchronous reclamation, that is, guarantees for the timing of reclamation of some objects, primarily due to the dependence of the deleters of such objects on resources that may become subsequently unavailable.

The upcoming WG21 Concurrency Technical Specification (Concurrency TS2) includes support for hazard pointer synchronous reclamation. This talk describes such support and goes beyond the TS and describes a faster scalable alternative interface for synchronous reclamation and novel algorithms for implementing it that are in heavy use in the Folly open-source library.

Fast and scalable synchronous reclamation for deferred reclamation has been a long-standing open problem. This talk presents a new interface and algorithms that solve the problem. Objects protectable by hazard pointers are organized into cohorts. The completion of the destruction of a cohort object guarantees the completion of the destructors for all associated protectable objects, thus providing synchronous reclamation by controlling cohort destruction. A significant algorithmic challenge is the interaction between synchronous and asynchronous reclamation. Asynchronous reclamation serves to bound the number of reclaimable objects that are not yet reclaimed. The talk outlines how the new algorithms manage to support both types of reclamation safely while allowing synchronous reclamation to be fast and scalable.

The talk concludes with a proposed roadmap for hazard pointer synchronous reclamation standardization beyond Concurrency TS2.

ALL TALK SESSIONS CAN BE ACCESSED FROM THE MAIN LOBBY: https://cppcon.digital-medium.co.uk/

avatar for Maged Michael

Maged Michael

Engineer, Facebook
Maged Michael is a software engineer at Facebook. He is the inventor of hazard pointers, lock-free malloc and several algorithms for concurrent data structures. He received a Ph.D. in computer science from the University of Rochester. He is an ACM Distinguished Scientist. He is an... Read More →

Thursday October 28, 2021 12:30pm - 1:30pm MDT
Online A