Децентралізована синхронізація
Децентралізована синхронізація в розподілених системах
Це варіант, коли зовнішній годинник відсутній і треба за скінченну кількість тактів встановити локальний таймер в одне локальне значення.
Як синхронізувати цілком однакові вузли, які не мають затримки:
Задача синхронізації ланцюжку стрільців(Джона Майхілла)
S0 – початковий стан в якому знаходяться всі вузли; S – стан попередньої готовності.
Агенти між собою обмінюються сигналами з різною «швидкістю»(з якою затр. вузол який передав сигнал передасть повідомлення іншому вузлу)
Крайній вузол відправляє в ланцюжок одночасно 2 сигнали ”а1” та ”а3” при цьому специфічно поводиться крайній вузол, він їх віддзеркалить (після цього крайній вузол при отриманні сигналу ”а” переходить в стан S1).
Всі інші вузли виконують такий алгоритм:
Ø Якщо отриманий 1 сигнал, то передати його далі по ланцюжку;
Ø Якщо отримано 2-ва сигнали то віддзеркалити їх, і передати далі по ланцюжку, а також перейти в стан S;
Ø Якщо даний вузол і 2 його сусіди знаходяться в стані, S то зробити потрібну дію (зробити «постріл»).