![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
begin is_sent:= true;
forall q Î Out(this) do send < wakeup > to q
end;
While counter < card(Out(this)) do
begin receive < wakeup >; counter:= counter + 1;
If notis_sent then
begin is_sent:= true;
forall q Î Out(this) do send < wakeup > to q
End
end;
(* Начало алгоритма из лекции 12 *)
Whilecard{q: Ørecp[q]} > 1 do
begin receive (token, r) from q; recp[q]:= true;
if est (r) > est (m) then m:= r
end;
send (token, m) to q0 with Ørecp[q0];
receive (token, r) from q0;
if est (r) > est (m) then m:= r; (* return (OK)с ответом m *)
if m = this then state:= coordinator else state:= lost;
forall q Î Out(this), q ¹ q0 do send (token, m) to q
End
Когда хотя бы один сайт инициирует выполнение алгоритма, все сайты посылают сообщения < wakeup > всем своим соседям, и каждый сайт начинает выполнение алгоритма для дерева после получения сообщения < wakeup > от каждого соседа. Все процессы завершают алгоритм для дерева с одним и тем же значением оценки, а именно, с наибольшей оценкой сайта. Единственный сайт с такой оценкой закончит выполнение в состоянии координатор, а все остальные сайты – в состоянии проигравший.
Через каждый канал пересылается по два сообщения < wakeup > и по два сообщения < tok,r>, откуда сложность сообщений равна 4N–4. В течение D единиц времени после того, как первый процесс начал алгоритм, каждый процесс послал сообщения < wakeup >, следовательно, в течение D+1 единиц времени каждый процесс начал волну. Легко заметить, что первое решение принимается не позднее, чем через D единиц времени после начала волны, а последнее решение принимается не позднее D единиц времени после первого, откуда полное время равно 3D+1.
Если порядок сообщений в канале может быть изменен (т.е. канал – не FIFO), процесс может получить сообщение (token, r) от соседа прежде чем он получил сообщение < wakeup > от этого соседа. В этом случае сообщение (token, r) может быть временно сохранено или обработано как сообщения (token, r), прибывающие позднее.
Дата публикования: 2014-11-18; Прочитано: 270 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!