Срез, согласованный срез — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 1: Строка 1:
 
[[Категория: Параллельное программирование]]
 
[[Категория: Параллельное программирование]]
 
+
Мотивация: если у распределенной системы нет «глобального состояния», то как запомнить её состояние на диске, чтобы можно было продолжить работу после восстановления с диска?  
Если у распределенной системы нет «глобального состояния», то как запомнить её состояние на диске, чтобы можно было продолжить работу после восстановления с диска?  
 
  
 
Пусть E - система на основе событий (event-based system) с полным порядком (<tex>\prec</tex>) в рамках каждого процесса. Тогда <br>
 
Пусть E - система на основе событий (event-based system) с полным порядком (<tex>\prec</tex>) в рамках каждого процесса. Тогда <br>

Версия 19:44, 16 мая 2018

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

Пусть E - система на основе событий (event-based system) с полным порядком ([math]\prec[/math]) в рамках каждого процесса. Тогда
Срез F - любое подмножество E такое, что [math]f \in F, e \prec f \Rightarrow e \in F[/math]

Согласованный срез G - любое подмножество E такое, что [math]\forall f \in E, \forall g \in G : f \rightarrow g \Rightarrow f \in G[/math].

Это означает, что не существует сообщения переданного "через" срез в обратную сторону, т.е не бывает такого, что событие отправки сообщения не вошло в согласованный срез, а принятия вошло (см. рисунок [math]m_1[/math] - несогласованный срез, [math]m_2[/math] - согласованный срез). Можем говорить о том, что согласованный срез показывает некий глобальный снимок нашей системы.

Consistent.png