Синхронизация

Волновые алгоритмы могут использоваться для случаев, когда должна быть достигнута глобальная синхронизация процессов. Задача синхронизации формулируется следующим образом. В каждом процессе q должно быть выполнено событие aq , и в некоторых процессах должны быть выполнены события bp , причем все события aq должны быть выполнены по времени раньше, чем будет выполнено какое-либо событие bp . Алгоритм должен использовать конечное количество сообщений.

В алгоритмах синхронизации события bp будут рассматриваться как события return(OK).

Любой волновой алгоритм может использоваться как алгоритм синхронизации. Действительно, пусть A – волновой алгоритм. Чтобы преобразовать A в алгоритм синхронизации, потребуем, чтобы каждый процесс q выполнял aq до того, как q пошлет сообщение в A или примет решение в A. Событие bp происходит после события return(OK) в p.