Interested Article - Причинная согласованность

Причинная согласованность ( англ. causal consistency ) — модель согласованности , которая не требует, чтобы все процессы видели одну и ту же последовательность записей в памяти, проводя различие между потенциально-зависимыми (запись одной может зависеть от результата чтения другой ячейки) и потенциально-независимыми (параллельными) операциями записи .

Система обеспечивает причинную согласованность, если операции с памятью, которые потенциально причинно связаны, рассматриваются всеми узлами системы в том же порядке. Одновременные операции записи (то есть те, которые причинно не связаны), могут рассматриваться в различном порядке разными узлами. Этот вид согласованности слабее, чем последовательная согласованность , которая требует, чтобы все узлы видели все записи в том же порядке , но сильнее, чем , при которой только записи, сделанные одним узлом, были бы видимы в том же порядке любым другим узлом .

Отношения причинности между операциями (событиями) для систем с можно определить следующим образом :

  1. Последовательность операций чтения и записи на узле определяет локальный причинный порядок.
  2. Операция записи причинно предшествует операции чтения на другом узле, если чтение возвращает значение, записанное с помощью этой операции записи. Это отношение межпроцессного порядка.
  3. И, наконец, причинный порядок считается транзитивным : то есть, если операция А (причинно) следует до В, а В — до С, то А находится в порядке причинности перед С. То есть, транзитивное замыкание отношений локального и межпроцессного порядков определяет глобальный причинный порядок.

Достоинства и недостатки

Сохраняя свойство гарантированных операций с небольшой задержкой, причинная согласованность лучше согласованности в конечном счёте как для пользователей, так и для программистов. Она учитывает причинно-следственные связи между операциями и гарантирует, что каждый узел видит операции в заданном порядке. Причинная согласованность также делает программирование проще, устраняя необходимость рассматривать не относящиеся к делу операции .

Тем не менее, причинной согласованности присущи и некоторые недостатки :

  • не все причинные связи могут быть установлены в рамках системы,
  • не всегда возможно требовать выполнения глобальных инвариантов ,
  • логика одновременной записи может представлять трудности при реализации.

В частности, требуется установить, достаточно ли простого затирания старых данных или требуются отдельные механизмы разрешения конфликтующих записей.

Примечания

  1. Одинцов И. О. Профессиональное программировании. Системный подход. — 2-е. — СПб. : БХВ-Петербург, 2004. — С. 520—521.
  2. Vijay K. Garg Concurrent and Distributed Computing in Java. John Wiley & Sons, 28 Jan 2005 — Computers — 336 pages. p 60
  3. , pp. 420—423.
  4. , 12.2.3 Causal consistency.
  5. Wyatt Lloyd, Michael J. Freedman, Michael Kaminsky, David G. Andersen. A Short Primer on Causal Consistency ;login: The USENIX Magazine, Vol 38, Number 4, August 2013.

Литература

  • Крюков В. А. Курс лекций «Распределенные ОС»
  • Pradeep K. Sinha. Causal Consistency Model // . — PHI Learning Pvt. Ltd., 1998. — С. 239—240. — 761 с. — ISBN 9788120313804 .
  • Kshemkalyani, A.D. and Singhal, M. Distributed Computing: Principles, Algorithms, and Systems. — Cambridge University Press, 2011. — ISBN 9781139470315 .
  • M. Ahamad, G. Neiger, J. E. Burns, P. Kohli, and P. Hutto. Causal memory: Definitions, implementation and programming. Distributed Computing, 9(1), 19
  • Bailis, Peter and Ghodsi, Ali and Hellerstein, Joseph M. and Stoica, Ion (2013). . Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data . SIGMOD '13. New York, New York, USA: ACM. pp. 761—772. doi : . Дата обращения: 6 декабря 2013 . {{ cite conference }} : Википедия:Обслуживание CS1 (множественные имена: authors list) ( ссылка )
Источник —

Same as Причинная согласованность