В распределённых вычислениях сложно синхронизировать время по нескольким причинам:
- Отсутствие общих часов или другого источника точного глобального времени. 4 В распределённой системе каждый процессор имеет собственные часы со своей точностью хода. 1
- Время для разных логических процессов движется с разной скоростью. 23 Например, если процесс, реализующий работу магазина, выполняется на загруженном процессоре, то уведомление банку поступает позже, поскольку процесс банк «убежал» вперёд (он выполняется на менее загруженном процессоре). 2
- Если два события случились в разных процессах на разных машинах и эти процессы не имеют между собой никакой связи, то нельзя сказать с полной определённостью, какое из событий произошло раньше, а какое позже. 1
Для решения проблемы синхронизации времени в распределённых вычислениях используются различные алгоритмы, например, консервативные и оптимистические. 23