Лекции в магистратуре МФТИ по современному 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: * Пока пусто
Hide player controls
Hide resume playing