АПС Л18. Синхронизация. Когерентность кэш
Архитектуры процессорных систем
0:00 / 0:00
АПС Л18. Синхронизация. Когерентность кэш
1 554 просмотра · 4 г. назад
Архитектуры процессорных систем
3,62 тыс. подписчиков
1 554 просмотра · 4 г. назад
Современные высокопроизводительные процессоры объединяют в себе по несколько вычислительных ядер, которые могут исполнять разные программные потоки, что влечёт за собой: необходимость в синхронизации работы таких потоков, и слежение за когерентностью кэш разных ядер при работе с общей памятью.
Основные моменты лекции:
2:20 - параллелизм уровня потоков
5:17 - необходимость синхронизации потоков
6:52 - потоково-безопасное программирование
7:50 - пример, на основе которого будет поясняться лекция
11:06 - буфер FIFO для ослабления зависимости между потоками
13:37 - пример реализации буфера FIFO
15:56 - семафоры
19:00 - семафор для установки приоритета
20:24 - семафор для распределения ресурсов
21:57 - буфер FIFO с семафорами
24:44 - пример одновременных транзакций (проблема)
28:50 - семафор для взаимных исключений
29:55 - буфер FIFO с семафорами и несколькими производителями
32:39 - необходимость атомарных инструкций для реализации семафоров
35:31 - взаимоблокировка (deadlock)
38:55 - задача о обедающих философах
42:50 - устранение deadlock в примере с банкоматами
45:09 - общие слова про мультиядерность
47:24 - проблема когерентности кэш-памяти
50:45 - реализация когерентности кэш-памяти
52:59 - snoopy-протокол
56:02 - VI
1:00:30 - MSI и MESI
1:07:23 - когерентность кэш и ложное совместное использование
telegram: https://t.me/archps2021
github: https://github.com/MPSU/APS-info