Время и порядок событий
Какие зависимости можно восстановить из журналов трёх узлов?
Содержание слайдов
1. Время и порядок событий
Какие зависимости можно восстановить из журналов трёх узлов?
2. Журнал может поставить приём раньше отправки
Часы A и B могут иметь разное смещение.
3. Для даты и длительности нужны разные часы
Монотонные часы измеряют интервал внутри одного процесса.
4. Синхронизация ограничивает ошибку при своих допущениях
Сеть и дрейф влияют на оценку времени.
5. События принадлежат процессам и сообщениям
A, B и C имеют известный локальный порядок.
6. Причинное предшествование строится тремя правилами
Локальный порядок, сообщение и транзитивность.
7. Конкурентность означает, что пути нет ни в одну сторону
Она не требует одинакового физического времени.
8. Счётчик увеличивается на каждом событии
При приёме L := max(L, Lmsg) + 1.
9. Приём m поднимает часы B до трёх
A: a1=1, a2=2; B начинает с b1=1.
10. Приём q поднимает часы A до семи
C начинает с c1=1; A после a3 имеет L=3.
11. Меньшая метка не доказывает зависимость
L(c1)=1 < L(b3)=4, но пути нет: события конкурентны.
12. Полный порядок добавляет правило разрешения равенства
Сравниваем пару (L, processId).
13. Вектор хранит известные события каждого процесса
Три компоненты соответствуют A, B и C.
14. Приём объединяет знания и отмечает новый шаг
V := max(V,Vmsg); затем V[self] += 1.
15. B объединяет свою историю с двумя событиями A
До приёма: B=[0,1,0], m=[2,0,0].
16. Обратное сообщение объединяет три истории
После a3 у A вектор [3,0,0].
17. Порядок векторов требует всех компонент
u < v: все компоненты ≤ и хотя бы одна <.
18. Несравнимые версии требуют решения приложения
Вектор обнаруживает ветви, но не выбирает правильное значение.
19. Физическое время можно возвращать интервалом
TrueTime обещает, что истинный момент находится внутри.
20. При перекрытии интервалов порядок неизвестен
Неперекрытие даёт физический порядок, но не путь сообщения.
21. Ожидание может превратить границу времени в гарантию
При s=104 и earliest=103 отвечать ещё рано.
22. Журнал должен сохранять связи, а не только часы
Ключи операций и идентификаторы сообщений восстанавливают трейс.
Процесс + ID события
Ключ операции + номер попытки
Связь отправки и приёма
Часы и их смысл
23. Пропущенная связь сужает вывод расследования
Без send/receive нельзя восстанавливать зависимость по догадке.
24. Вычислите часы и найдите несравнимые события
Новый трейс содержит девять событий и три сообщения.
25. Тип часов выбирают по вопросу к системе
Не требуйте от одной метки всех гарантий сразу.
26. После лекции вы сможете
Вычислить метки Лэмпорта и полные векторы.
Различить причинный, полный и физический порядок.
Назвать выводы, которые журнал не поддерживает.
Сравнить интервалы времени и объяснить ожидание неопределённости.