TGViewer
C++ and other lectures C++ and other lectures @cpp_lects_rus · 9.94K subscribers
Post #367 11.7K
Выложил третью лекцию по атомикам на английском языке.

https://youtu.be/h4k3z69aIMY

В третьей части лекции мы переходим к рассмотрению проблемы рекламации памяти и построению lock-free структур данных. Начинаем мы с рекламации памяти, разбирая в процессе, почему наивные решения на указателях и CAS ломаются, и где именно возникает необходимость аккуратно управлять временем жизни объектов. Далее рассматриваем новые подходы, которые введены в стандарт C++26: RCU и hazard pointers. Обсуждаем, как они работают, какие гарантии дают и какие накладные расходы вносят. После этого мы приступаем к рассмотрению lock-free структур данных. Сначала разбираем простой пример unbounded стека с использованием hazard pointers. Затем bounded MPMC стек, где появляются уже другие сложности: проблема публикации и проблема ABA. Разбираем, как они возникают и как с ними бороться. В завершение рассматриваем lock-free MPMC очередь, обсуждаем влияние моделей памяти на производительность и смотрим на результаты бенчмарков.

00:00 Введение. Проблема рекламации памяти.
07:03 Идея атомарного shared_ptr и её ограничения.
11:05 Решения в C++26: RCU.
23:01 Решения в C++26: Hazard pointers.
31:20 Lock-free unbounded stack с использованием hazard pointers.
35:45 Lock-free bounded MPMC stack: проблема публикации.
42:42 Проблема ABA и способы её решения.
54:40 Lock-free bounded MPMC queue, бенчмаркинг и литература.

#cpp_postgraduate
YouTube Lecture 24. Atomicity III: Reclamation and Lock-Free Data Structures (MIPT, 2025-2026). Master's degree lectures at MIPT on modern C++ in English. Department of Microprocessor Technologies. In the third part of the lecture, we move on to the problem of memory reclamation and the construction of lock-free data structures. We begin with memory…
  • 🔥 26
  • 👍 9
  • ❤ 8
  • 🍓 2
  • 🌭 1
More from @cpp_lects_rus
  1. Sep 22, 2026В четверг вечером провожу встречу со студентами и преподавателями ВШЭ. В планах: короткий…
  2. Sep 19, 2026Многие люди, прошедшие мой базовый курс языка C спрашивали -- а что дальше. Ведь мир языка…
  3. Sep 12, 2026Участвую в Ghost in the Code, рассылке YADRO о работе с легаси на C++. Удивительно ламповы…
  4. Sep 10, 2026Выложили доклад моего аспиранта и коллеги Владислава Белова @sick_hoof по алиасингу памяти…
  5. Sep 5, 2026Мне начали кидать в личку всякие странные видео из бентосных интернетов, появляющиеся (сей…
  6. Sep 3, 2026Выложили доклад моего студента и коллеги Саши Романова про рефлексию в C++. С моей точки з…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →