Изменения

Перейти к: навигация, поиск

Матричные часы

90 байт убрано, 20:19, 9 марта 2018
Нет описания правки
В отличие от векторных часов:
* каждый Каждый процесс хранит вектор векторов (матрицу) целых чисел;* при При передаче сообщения передается вся имеющаяся матрица;* при В случае любого события, i-ый поток увеличивает на единицу свою компоненту матрицы, т.е M[i][i];* При приеме сообщения производится update собственной матрицы путем выбора покомпонентного максимума для каждого элементавсех строк, кроме строки, соответствующей номеру получившего потока (myId), берется покомпонентный максимум. После этогоА для M[myId][j] берется максимум из M[myId][j] и W[srcId][j], каждый элемент собственного вектора в матрицегде W - матрица, понятным образомкоторая пришла, составляется из максимума по соотвествующим элементам других векторовsrcId - номер потока, от которого пришла матрица W.
Используя матричные часы, мы можем оценить нижнюю границу того, что знает другой поток.
Кроме этого, понятным образом, матричные часы обладают всеми свойствами векторных часов, например, s -> t <=> sИногда говорят о матричных часахM[s.p, включая сюда матрицы порядка больше двух (информация типа &quot;я знаюx] < t.M[t.p, что x знает, что y знает&quot;), а иногда даже и порядка 1 (векторные)] для любого х.
Анонимный участник

Навигация