Atomic Variables: Not radioactive, but you probably still don't want to touch them!
Channel: CoreCppIL
Date: 2023-01-25

Presented by Roy Margalit as Core C++ 2022 conference.

Different hardware architectures implement different memory models. This in turn makes porting software between different targets an insanely complicated task. To solve this problem, C++11 introduced a language memory model that was later adopted by other languages such as D and Rust. In this talk, we will discuss the problem, the solution and why you still have to be careful if you want to maximize performance. In order to try and alleviate the complexity, we will also consider a new technique to make reasoning easier by relying on sequential consistency. This talk will be based on two recent research papers published in PLDI'19 and POPL'21.

=====
Roy is a PhD student in the Programming Languages group at School of Computer Science Tel Aviv University. Currently researching programming languages and verification, with a focus on concurrency and relaxed memory models.