Частичное упорядочение событий в распределенной системе
Мне было интересно, если кто-то может объяснить с точки зрения непрофессионала, что частичное упорядочение событий в распределенной системе? Кроме того, что общее количество заказов?
Я был бы очень признателен за это. Я просмотрел всю сеть, и все, что я могу найти, - это математические уравнения, определяющие частичное и полное упорядочение, но не в контексте распределенной системы.
Спасибо большое
1 ответ
Полный порядок - это порядок, который определяет точный порядок каждого элемента в серии.
Частичное упорядочение элементов в серии - это упорядочение, которое не определяет точный порядок каждого элемента, а только определяет порядок между определенными ключевыми элементами, которые зависят друг от друга.
Смысл этих слов точно такой же в контексте распределенных вычислений. Единственное значение распределенных вычислений для этих терминов заключается в том, что частичное упорядочение событий гораздо более распространено, чем полное упорядочение. В локальном однопоточном приложении порядок, в котором происходят события, полностью упорядочен, неявно, поскольку ЦП может делать только одну вещь за раз. В распределенной системе вы обычно координируете только частичное упорядочение тех событий, которые зависят друг от друга, и позволяете другим событиям происходить в любом порядке, в котором они происходят.
Пример, взятый из комментариев: если у вас есть три события {A, B, C}
, тогда они полностью заказаны, если они всегда должны происходить в порядке A > B > C
, Однако если A
должно произойти раньше C
но тебе все равно когда B
бывает, то они частично заказаны. В этом случае мы бы сказали, что последовательности A > B > C
, A > C > B
, а также B > A > C
все удовлетворяют частичному упорядочению