Опубликован: 31.08.2009 | Доступ: свободный | Студентов: 836 / 83 | Оценка: 4.61 / 4.22 | Длительность: 03:36:00
Тема: Программирование
Специальности: Программист, Системный архитектор
Теги:
Лекция 9:
Технические аспекты написания параллельных программ
< Лекция 1 || Лекция 9
Аннотация: Технические аспекты написания параллельных программ на разделяемой памяти. Многопоточные программы. Работа с разделяемоий памятью. Атомарность операций. Синхронизационные примитивы (низкоуровневые атомарные команды, критические секции, взаимоисключающая блокировка - mutex, рекурсивная блокировка - lock, блокировка чтения-записи – read/write lock, многопроцессорная блокировка - spin-lock, семафоры, барьеры). Принятие во внимание особенностей аппаратной платформы, например, последовательности операций записи в память и т.д. Тупики и взаимные блокировки. Неблокирующая синхронизация.
Реализация одних примитивов через другие, относительная "мощность" примитивов. Задача о консенсусе как способ оценки примитивов.
< Лекция 1 || Лекция 9