Магистерский курс C++ (МФТИ, 2022-2023). Лекция 21. Атомики, часть 2.
Лекции в магистратуре МФТИ по современному C на русском языке. Кафедра микропроцессорных технологий.
На этой лекции мы погрузимся в неприятные части атомиков: начав с рассмотрения уже знакомых нам проблем проектирования, таких как API races (а также посмотрев способ их решения через формальные методы), мы пойдём к более сложным и специфичным проблемам. Первая такая проблема это reclamaition -- ранний отзыв указателя. Вторая проблема это ABA. Мы поговорим о том какими способами (как аппаратными так и на уровне языка) мы решаем такие проблемы. Закончим мы тем, что потрогаем лапкой вопросы переупорядочения.
Лектор: Константин Владимиров.
Дата лекции: 12 апреля 2023 года.
Съёмка и звук: Юлий Тарасов.
Предыдущая лекция:
Следующая лекция:
Слайды ко всем лекциям:
Примеры кода ко всем лекциям:
Timeline:
00:00 Иерархия lock-free ещё раз
07:10 Проблемы проектирования: shared pointers
14:55 Перестановка строк
19:42 Формальная верификация
25:20 Livelocks
28:45 Lock-free stack
38:30 Reclamation
45:10 ABA problem
49:55 Atomic shared pointers
55:00 Hazard pointers
01:00:20 Аппаратное решение ABA и переупорядочение
01:11:30 Chasing counters
01:17:05 Happens-before и завершение
Errata:
* Пока пусто
2 views
0
0
2 years ago 01:19:16 271
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 1. Строки.
2 years ago 01:28:22 9
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 12. Вариабельные шаблоны.
2 years ago 01:28:50 46
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 11. Вывод типов.
2 years ago 01:31:58 8
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 13. Лямбды.
2 years ago 01:26:12 8
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 14. Диапазоны, часть 1.
1 year ago 01:30:57 22
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 10. Концепты.
1 year ago 01:27:21 8
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 15. Аллокаторы
1 year ago 01:24:58 22
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 19. Многопоточность, часть 2.
2 years ago 01:30:56 12
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 6. SFINAE.
2 years ago 01:21:23 14
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 8. Константные выражения.
1 year ago 01:21:27 6
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 20. Очереди.
1 year ago 01:27:09 1
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 22. Паралеллизм.
1 year ago 01:12:56 24
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 23. Сопрограммы, часть 2
2 years ago 01:30:35 15
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 7. Классическое метапрограммирование.
2 years ago 01:21:41 20
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 9. Волшебство времени компиляции.
2 years ago 01:35:54 13
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 14. Диапазоны, часть 2
1 year ago 01:30:17 3
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 17. Умные указатели.
1 year ago 01:23:37 12
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 23. Сопрограммы, часть 1.
1 year ago 01:23:37 1
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 16. Полиморфные аллокаторы
1 year ago 01:30:17 1
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 18. Динамический полиморфизм.
1 year ago 01:16:25 13
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 19. Многопоточность, часть 1.
1 year ago 01:33:47 1
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 21. Атомики, часть 3.
1 year ago 01:23:38 2
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 21. Атомики, часть 1.
1 year ago 01:21:56 2
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 21. Атомики, часть 2.