Wednesday 

Room 3 

16:20 - 17:20 

(UTC+02

Talk (60 min)

Memory Model: Get your shared data under control

Come to this talk to understand the C++ memory model and learn about shared data synchronization challenges and their solutions. You will find out how to use all kinds of synchronization primitives available in C++ 20 in illustrative examples.

C++
Technique

Sharing data in multi-thread programming may be tricky and there are plenty of options on how to deal with it. You should always go for the simplest possible scenario to not end up in trouble.
In this talk we will build up the whole story from illustrative examples which will allow us to understand all synchronization primitives available from C++ 20. We will also uncover what the memory model is and why we need it.

At the end, you should be able to spot problematic code parts, easily decide which synchronization technique to use and reason about it.

This session will be mostly about examples with all different synchronization primitives with a brief introduction to memory model theory. For a complex understanding of the topic I highly recommend attending the previous session in the same room "The Two Memory Models" by Anders Schau Knatten where you will get a solid theoretical background about memory model problematics.

Jana Machutová

Jana is an engineer in Gen and a new member of Czech NB in WG21 (the C++ committee) with a main interest in SG1 (study group of concurrency). Previously she worked in game dev(Top Spin 4, Mafia II, Carrier Command, and DayZ). She studied computer graphics at Czech Technical University.