Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Судаков / Лекции / lec15_sinxr.ppt
Скачиваний:
24
Добавлен:
20.03.2015
Размер:
253.44 Кб
Скачать

Барьер

Барьер – коллективная синхронизация

Гарантия того, что те или иные операции выполнены всеми потоками, процессами

Операции до барьера Чтение 1 Запись 2 Запись 3 Чтение 3 Операции могут

переставляться или откладываться

Барьер – выполняем все предыдущие операции

Операции после барьера

Блокировки в системах с распределенной памятью

Нет общих данных

Часто в блокировках нет необходимости

Иногда необходимо гарантировать, что все процессы программы выполняют определенный код – барьер исполнения

При реализации сложных распределенных систем возникают задачи эмуляции общих ресурсов с помощью распределенных систем – сложная задача

Используются алгоритмы распределенных блокировок, консистентности и т.д.

Пример реализации барьера

Каждый процесс вызывает функцию

Allreduce();

//ждем, пока не получим необходимых данных от всех остальных процессов

Вопросы?

Соседние файлы в папке Лекции