CppCon 2021 has ended
Back To Schedule
Tuesday, October 26 • 3:15pm - 4:15pm
The Upcoming Concurrency TS Version 2 for Low-Latency and Lockless Synchronization

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

Feedback form is now closed.
The June 2021 ISO C++ virtual plenary approved Concurrency TS Version 2. This new TS  has been in the works for 6+ years and will move us towards supporting highly intensive, low latency lockless synchronization mechanisms. This talk will be given by the Editing team for Concurrency TS2, as well as some of the specific authors.The initial approved content will be hazard pointers (HP) and read-copy update (RCU).

Hazard pointers is a deferred reclamation technique. It is used for fast and scalable protection of access to shared objects that may be removed concurrently. It allows indefinite protection, which makes it suitable for cases of object protection while blocking or while executing arbitrary user code. It also guarantees bounding of unreclaimed objects that are eligible for reclamation.

RCU is another deferred-reclamation technique that is most frequently used to replace reader-writer locking for linked data structures in a number of operating system kernels and concurrent applications.  In the most aggressive implementations, RCU readers might use exactly the same sequence of instructions that would be used in the same traversal of a read-only data structure, which means that RCU can provide excellent read-side performance and scalability.  The C++ RCU proposal features RAII RCU readers, both intrusive and non-intrusive retire functions, and full compatibility with the C++ type system.

This talk will describe the final approved form of hazard pointers and RCU, and also what we hope to learn from the TS process.  This talk will also cover in-the-wild advances in hazard pointers and RCU during the multi-year process leading up to this TS.  We will draw examples from the Folly library, where both hazard pointers and RCU are used, and from the various forms of RCU within the Linux kernel.  We expect that the TS will be a good vehicle for feedback, and the in-the-wild advances will also help shape entry into IS.

We will also give a high-level overview of other contents that we expect to be added to the TS such as Snapshot and Asymmetric fences. We hope to describe these in a future talk after they have passed LWG review. We believe that in about a year, Concurrency TS2 will be completed and released for public review.

We will also describe the new chapters that we hope will enter the C++ standard in C++23 or C++26.

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

avatar for Paul E. McKenney

Paul E. McKenney

Software Engineer, Facebook
Paul E. McKenney has been coding for almost four decades, more than half of that on parallel hardware, where his work has earned him a reputation among some as a flaming heretic. Paul maintains the RCU implementation within the Linux kernel, where the variety of workloads present... Read More →
avatar for Maged Michael

Maged Michael

Maged Michael is the inventor of several concurrent algorithms including hazard pointers, lock-free allocation, and multiple concurrent data structure algorithms. His code and algorithms are widely-used in standard libraries and production. His 2002 paper on hazard pointers received... Read More →
avatar for Michael Wong

Michael Wong

Distinguished Engineer, VP, Codeplay
Michael Wong is Distinguished Engineer/VP of R&D at Codeplay Software. He is a current Director and VP of ISOCPP , and a senior member of the C++ Standards Committee with more then 15 years of experience. He chairs the WG21 SG5 Transactional Memory and SG14 Games Development/Low Latency/Financials... Read More →

Tuesday October 26, 2021 3:15pm - 4:15pm MDT