Talk

Deep dive into Futures: Task Parallelism approach

  • In Russian
File zip

One of the main ways to write asynchronous concurrent code is Task Parallelism.

There are several approaches to implementing Task Parallelism. The most relevant approach is Stackless Coroutines. Unfortunately, it is not available to developers until C++20, and the library for it probably won't appear even in C++23. But there are other approaches: Fibers, Actor Model, Futures.

Valery will talk about Futures and which optimizations can be used to implement them using the open-source library https://github.com/YACLib/YACLib as an example.

The talk will cover the following topics:

  1. Why are most of the in-house developments so similar to Futures in terms of API?
  2. What API should Futures have, and how can it be most efficiently implemented?
  3. Many different optimizations: reducing the number of locks, false awakenings, allocations.
  • #async
  • #concurrency
  • #open source

Speakers

Invited experts

Talks