Матричные часы
Версия от 15:19, 26 июня 2010; Andrey Danilchenko (обсуждение | вклад) (переименовал «Параллельное программирование: Матричные часы» в «Матричные часы»)
Матричные часы – это обобщение векторных часов.
В отличие от векторных часов:
- каждый процесс хранит вектор векторов (матрицу) целых чисел
- при передаче сообщения передается вся имеющаяся матрица
- при приеме сообщения производится update собственной матрицы путем выбора покомпонентного максимума для каждого элемента. После этого, каждый элемент собственного вектора в матрице, понятным образом, составляется из максимума по соотвествующим элементам других векторов.
Используя матричные часы, мы можем оценить нижнюю границу того, что знает другой поток.
Кроме этого, понятным образом, обладают всеми свойствами векторных часов.
Иногда говорят о матричных часах, включая сюда матрицы порядка больше двух (информация типа "я знаю, что x знает, что y знает"), а иногда даже и порядка 1 (векторные).