Логическое время и анализ порядка приема сообщений в распределенных вычислениях
Колосова Ю. И. Вопросы атомной науки и техники. Сер. Математическое моделирование физических процессов. Тезисы докл. Междунар. математич. конф 1997. Вып.1. С. 24.
Асинхронная среда для сообщений в распределенном вычислении может вызвать отклонение реального порядка их приема от предполагаемого. Рассмотрен алгоритм ностпрограммного анализа параллельных историй процессов с целью обнаружения несоответствия порядка приема сообщений отдельным процессом порядку их посылки. Используется распространенная модель, в которой распределенное вычисление представлено совокупностью n процессов pi (i = 1, 2,..., n), где параллельная история процесса pi описывается множеством событий {ei1, ei2,…} в порядке их выполнения. Здесь фиксируются только события посылки или приема сообщения. Алгоритм основан на варианте логических часов, показания которых характеризуют отношение “случилось вперед”, обычно обозначаемое и определяемое следующим образом: iff: 1) (i = j)∧(q < u) или 2) существует сообщение m такое, что eig есть его посылка, а eju — его прием или 3) существует событие еk, такое, что eig → еks → eju. Каждое событие eig связывается с временной отметкой V(eij), которая является n-размерным вектором целых чисел и представляет текущие логические часы. Обновление этих часов производится так, что компонента V(eij) [i] равна числу событий посылки сообщения, выполненных в рi до (и включая) eig, а остальные равны числу аналогичных событий, которые случились вперед eig в других процессах. Для каждой пары событий приема еks → еку в процессе рк, для которой событиями посылки являются соответственно eiq и eju, алгоритм установит отклонение в том случае, если eju eiq. Для этого используется известное соотношение: Доказывается корректность алгоритма, приводятся примеры его полезности.
|