CppCon 2020 has ended
Back To Schedule
Wednesday, September 16 • 12:00 - 13:00
A Relaxed Guide to memory_order_relaxed

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

Feedback form is now closed.
The out-of-thin-air (OOTA) and read-from-untaken-branch (RFUB) properties of the specification of memory_order_relaxed have resulted in considerable consternation over the years. Although there are no known instances of full-blown OOTA behavior, and no known RFUB-induced failures of production code, the theoretical possibility of these properties severely complicates automated analysis of large C and C++ code bases. Thus far, attempts to eliminate OOTA and RFUB properties from the memory model have resulted in otherwise needless added overheads on weakly ordered systems on the one hand or excessive implementation complexity on the other. However, memory_order_relaxed never was intended to be used in arbitrary code, but rather as a part of deliberate application of specific concurrency designs. This talk provides an initial catalog of patterns underlying such designs.

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 Hans Boehm

Hans Boehm

Hans is a software engineer at Google, where he has been since March 2014. He now works mostly on concurrent programming issues, both generally, and focussed on Android. Hans is an ACM Fellow, and a past Chair of ACM SIGPLAN (2001-2003). Until late 2017 he chaired the ISO C++ Concurrency... Read More →

Wednesday September 16, 2020 12:00 - 13:00 MDT