Back To Schedule

Forward Progress Guarantees

14:30 - 16:00 Thursday 11th May 2023 MT Bethe Hall
Advanced
Concurrency

If you are coming to a C++ conference, then you probably have heard of the memory model before now. But what have you heard about forward progress guarantees in C++? Without forward progress, most synchronization is meaningless, making the topic a pre-requisite.

Unlike the memory model, however, it is not really an option to leave the topic to experts. That’s because assumptions of progress are implicitly part of the contract for calling libraries that synchronize inside. So, unless you are writing purely serial code, you are making assumptions about forward progress in your C++ code.

This talk will provide a whirlwind tour of the subject, but spend a good chunk of time on where the C++ specification lacks clarity and could be improved.

Olivier Giroux

Director, Platform ArchitectureApple Inc.

I am a veteran GPU architect of >20 years, an ISO C++ committee member of >10 years, and its chair of concurrency and parallelism for the past 5 years. I'm the only hardware engineer on the committee. I like to talk about formalizations of parallelism and memory models.