Операционные системы распределенных вычислительных систем


Реализация распределенных файловых систем. - часть 15


6.3.3           Причинная консистентность.

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

Рассмотрим пример. Предположим, что процесс P1 модифицировал переменную x, затем процесс P2 прочитал x

и модифицировал y. В этом случае модификация x

и модификация y

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

Причинная модель консистентности памяти определяется следующим условием: «Последовательность операций записи, которые потенциально причинно зависимы, должна наблюдаться всеми процессами системы одинаково, параллельные операции записи могут наблюдаться разными узлами в разном порядке.»

Пример.

(а) Нарушение модели причинной консистентности

P1:

W(x)1

 

 

 

 

P2:

 

R(x)1

W(x)2

 

 

P3:

 

 

 

R(x)2

R(x)1

P4:

 

 

 

R(x)1

R(x)2

 

 

(б) корректная последовательность для модели причинной консистентности.

P1:

W(x)1

 

 

W(x)3

 

 

P2:

 

R(x)1

W(x)2

 

 

 

P3:

 

R(x)1

 

 

R(x)3

R(x)2

P4:

 

R(x)1

 

 

R(x)2

R(X)3

 

 

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


Начало  Назад  Вперед



Книжный магазин