Слабая консистенция
Эта статья включает список литературы , связанную литературу или внешние ссылки , но ее источники остаются неясными, поскольку в ней отсутствуют встроенные цитаты . ( Май 2017 г. ) |
Название « слабая согласованность» можно использовать в двух смыслах. В первом смысле, строгая и более популярная, слабая согласованность — это одна из моделей согласованности, используемых в области параллельного программирования (например, в распределенной общей памяти , распределенных транзакциях и т. д.).
Говорят, что протокол поддерживает слабую согласованность, если:
- Все обращения к переменным синхронизации видят все процессы (или узлы, процессоры) в одном и том же порядке (последовательно) — это операции синхронизации. Доступы к критическим разделам просматриваются последовательно.
- Все остальные доступы можно увидеть в разном порядке на разных процессах (или узлах, процессорах).
- Набор операций чтения и записи между различными операциями синхронизации одинаков в каждом процессе.
Таким образом, не может быть доступа к переменной синхронизации, если есть ожидающие операции записи. И не может быть запущена новая операция чтения/записи, если система выполняет какую-либо операцию синхронизации.
Во втором, более общем смысле, слабая согласованность может быть применена к любой модели согласованности, более слабой, чем последовательная согласованность .
Более строгим условием является сильная согласованность , при которой параллельные процессы могут наблюдать только одно согласованное состояние.
Ссылки
[ редактировать ]- Оригинальная статья о слабом порядке: М. Дюбуа, К. Шойрих и Ф. А. Бриггс, Буферизация доступа к памяти в мультипроцессорах , в материалах 13-го ежегодного международного симпозиума по компьютерной архитектуре 14, 2 (июнь 1986 г.), 434-442.
- Сарита В. Адве , Марк Д. Хилл, Слабый порядок — новое определение , в материалах 17-го ежегодного международного симпозиума по компьютерной архитектуре .