![]() |
|
|
Реферат: Распределенные алгоритмыПосле получения сообщений, у процесса p есть N-l
компонентов вектора в Теперь заметим, что различные процессы могут вычислять
различные расширения, но эти расширения принадлежат одному и тому же связному
компоненту графа Завершение. Выше уже обсуждалось, что каждый корректный процесс получает по крайней мере N-1 голосов. Соглашение.
Мы сначала докажем, что существует вектор Случай 1: Все процессы нашли решение в A. Пусть Случай 2: Все процессы за исключением одного, допустим
r, нашли решение в A. Все корректные процессы получают одни и те же N-1
решений, а именно решения всех процессов за исключением r. Возможно, что r потерпел
аварию, но, так как возможно , что r просто очень медленный, он все же сможет
достичь решения, то есть, существует вектор Из существования Нетривиальность. Из нетривиальности A, можно достичь векторы решения как в компоненте 0, так и в компоненте 1; по построению А’ оба решения возможны. Таким образом, А' является асинхронным, детерминированным, 1-аварийно-устойчивым алгоритмом согласия. Алгоритма А не существует по Теореме 13.8. o Обсуждение. Требование нетривиальности, утверждающее, что
каждый вектор решения в Исследование доказательства Теоремы 13.15 показывает, что в
доказательстве можно использовать более слабое требование нетривиальности, а
именно, что векторы решения достижимы по крайней мере в двух различных связных
компонентах Фундаментальная работа о задачах решения, которые являются разрешимыми и неразрешимыми при наличии одного сбойного процессора, была выполнена Бираном, Мораном и Заксом [BMZ90]. Они дали полную комбинаторную характеристику разрешимых задач решения. 13.4 Вероятностные Алгоритмы Согласия В доказательстве Теоремы 13.8 показано, что каждый асинхронный алгоритм согласия имеет бесконечные выполнения, в которых никакое решение не принимается. К счастью, для хорошо подобранных алгоритмов такие выполнения могут быть достаточно редки и иметь вероятность 0, что делает алгоритмы очень полезными в вероятностном смысле; см. Главу 9. В этом разделе мы представляем два вероятностных алгоритма согласия, один для модели аварий, другой для Византийской модели; алгоритмы были предложены Брахой и Туэгом [BT85]. В обоих случаях сначала доказывается верхний предел для способности восстановления (t < N/2 и t < N/3, соответственно) и что и оба алгоритма удовлетворяют соответствующей границе. В требованиях правильности для этих вероятностных алгоритмов согласия, требование завершения сделано вероятностным, то есть, заменено более слабым требованием сходимости. (1) Сходимость. Для каждой начальной конфигурации,
Частичная правильность (Соглашение) должна удовлетворяться при каждом выполнении; возникающие в результате вероятностные алгоритмы имеют класс Las Vegas (Подраздел 9.1.2). Вероятность принимается всеми выполнениями, начинающимися в данной начальной конфигурации. Чтобы вероятности были значимыми, должно быть задано распределение вероятности над этими выполнениями. Это можно сделать использованием рандомизации в процессах (как в Главе 9), но здесь вместо этого определяется распределение вероятности на прибытиях сообщений. Распределение вероятности на выполнениях, начинающихся в данной начальной конфигурации, определяется предположением о законном планировании. Оба алгоритма функционируют в раундах; в раунде процесс “выкрикивает” сообщение и ждет получения N-t сообщений. Определим R(q, p, k) как событие, когда в раунде k процесс p получает (раунд-k) сообщение q среди первых N-t сообщений. Законное планирование означает, что (1)
(2) Для всех k и различных процессов p, q, r, события R(q, p, k) и R(q, r, k) независимы. Заметьте, что Утверждение 13.4 также выполняется для вероятностных алгоритмов, когда требуется сходимость (завершение с вероятностью один). Действительно, так как достижимая конфигурация достигается с положительной вероятностью, решенная конфигурация должна быть достижима из каждой достижимой конфигурации (хотя не обязательно достигаемой в каждом выполнении). 13.4.1 Аварийно-устойчивые Протоколы Согласия В этом подразделе изучается проблема согласия в модели аварийного отказа. Сначала доказывается верхняя граница t < N/2 способности восстановления, потом приводится алгоритм со способностью восстановления t < N/2. Теорема 13.16
t-аварийно-устойчивого протокола согласия для Доказательство. Существование такого протокола, допустим P, подразумевает следующий три требования. Требование 13.17 P имеет бивалентную начальную конфигурацию. Доказательство. Аналогично доказательству Леммы 13.6; детали оставлены читателю. o Для подмножества процессов S, конфигурация Разделим процессы на две группы, S и T, размера Требование 13.18
Достижимая конфигурация Доказательство. Действительно, высокая способность восстановления протокола подразумевает, что и S и T могут достигать решения независимо; если возможны различные решения, можно достичь противоречивой конфигурации, объединяя планы. o Требование 13.19 P не имеет достижимой бивалентной конфигурации. Доказательство. Пусть дана достижимая бивалентная
конфигурация Противоречие существованию протокола P является результатом Требований 13.17 и 13.19; таким образом Теорема 13.16 доказана. o Аварийно-устойчивый алгоритм согласия Брахи и Туэга. Аварийно-устойчивый алгоритм согласия, предложенный Брахой и Туэгом [BT85] функционирует в раундах: в раунде k процесс посылает сообщение всем процессам (включая себя) и ждет получения N-t сообщений раунда k. Ожидание такого числа сообщений не представляет возможность тупика (см. Упражнение 13.10). В каждом раунде, процесс p “выкрикивает” голос за 0 или за 1 вместе с весом. Вес - число голосов, полученных для этого значения в предыдущем раунде (1 в первом раунде); голос с весом, превышающим N/2, называется свидетелем. Хотя различные процессы в раунде могут голосовать по-разному, в одном раунде никогда нет свидетелей различных значений, как будет показано ниже. Если процесс p получает свидетеля в раунде k, p голосует за свое значение в раунде k+1; иначе p голосует за большинство полученных голосов. Решение принимается, если в раунде получено больше, чем t свидетелей; решительный процесс выходит основной цикл и свидетели криков в течение следующих двух раундов, чтобы дать возможность другим процессам решить. Протокол дан как Алгоритм 13.3. var begin while begin shout<vote,
while begin receive<vote, r, v, w>; if
r > send< vote, r, v, w> to p (*…обработать позже*) else
if r = begin if w > N/2 then (*Свидетель*)
end else
(*r < end; (*Выбрать новое значение: голос и вес в следующем раунде*) if
else
if else
if else
(*Принять решение, если более t свидетелей*) if
end; (*Помочь другим процессам принять решение*) shout<vote,
shout<vote,
end Алгоритм 13.3 Аварийно-устойчивый алгоритм согласия Голоса, прибывающие для более поздних раундов должны быть обработаны в соответствующем раунде; это моделируется в алгоритме с помощью посылки сообщения самому процессу для обработки позже. Заметьте, что в любом раунде процесс получает самое большее один голос от каждого процесса, общим количеством до N-t голосов; так как более, чем N-t процессов могут “выкрикивать” голос, процессы могут принимать во внимание различные подмножества “выкрикиваемых” голосов. Мы впоследствии покажем несколько свойств алгоритма, которые вместе означают, что это - вероятностный аварийно-устойчивый протокол согласия (Теорема 13.24). Лемма 13.20 В любом раунде никакие два процесса не свидетельствуют за различные значения. Доказательство. Предположим, что в раунде k, процесс p свидетельствует за v, и процесс q свидетельствует за w; k > 1, потому что в раунде 1 никакие процессы не свидетельствуют. Предположение подразумевает, что в раунде k-1, p получил больше чем N/2 голосов за v, и q получил больше чем N/2 голосов за w. Вместе задействовано более N голосов; следовательно, процессы от которых p и q получили голоса перекрываются, то есть, есть r, который послал v-голос процессу p и w-голос процессу q. Это означает, что v =w. o Лемма 13.21 Если процесс принимает решение, то все корректные процессы принимают решение об одном и том же значении, и самое большее два раунда спустя. Доказательство. Пусть k будет первым раундом, в котором принимается решение, p - процесс, принимающий решение в раунде k, и v - значение решения p. Решение подразумевает, что в раунде k имелись v-свидетели; следовательно, по Лемме 13.20 не имелось свидетелей других значений, так что никакое другое решение не принимается в раунде k. В раунде k имелось более t свидетелей v (это следует из решения p), следовательно, все корректные процессы получают по крайней мере одного v-свидетеля в раунде k. В результате, все процессы, которые голосуют в раунде k + 1, голосуют за v (заметьте также, что p все еще “выкрикивает” голос в раунде k + 1). Это означает, что, если решение вообще принимается в раунде k + 1, это решение v. В раунде k + 1 предлагаются только v-голоса, следовательно все процессы, которые голосуют в раунде k + 2 свидетельствуют за v в этом раунде (p тоже). В результате, в раунде k + 2 все корректные процессы, которые не приняли решения в более ранних раундах, получают N-t v-свидетелей и останавливаются на v. o Лемма 13.22 Доказательство. Пусть S - множество N-t
корректных процессов (такое множество существует) и предположим, что до раунда Если это происходит, процессы в S получают одни и те же
голоса в раунде Pr [Процессы в S не приняли решения в раунде k + 2] что подтверждает результат. o Лемма 13.23 Если все процессы начинают алгоритм с входом v, то все они принимают решение v в раунде 2. Доказательство. Все процессы получают только голоса за v в раунде 1, так что все процессы свидетельствуют за v в раунде 2. Это означает, что все они они принимают решение в этом раунде. o Теорема 13.24 Алгоритм 13.3 - вероятностный, t-аварийно-устойчивый протокол согласия при t < N/2. Доказательство. Сходимость показана в Лемме 13.22, а соглашение - в Лемме 13.21; нетривиальность следует из Леммы 13.23. o Зависимость решения от входных значениях анализируется далее в Упражнении 13.11. 13.4.2 Византийско-устойчивые Протоколы Согласия Византийская модель сбоев более недоброжелательна, чем модель
аварий, потому что Византийские процессы могут выполнять произвольные переводы
состояний и могут посылать сообщения, которые расходятся с алгоритмом. В
дальнейшем мы будем использовать запись Теорема 13.25
t-Византийско-устойчивого протокола согласия при Доказательство. Предположим, напротив, что такой протокол существует. Читателю снова предоставляется показать существование бивалентной начальной конфигурации любого такого протокола (используйте, как обычно, нетривиальность). Высокая способность восстановления протокола означает, что
можно выбрать два множества S и T таких, что Заявление 13.26
Достижимая конфигурация Доказательство. Так как Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42 |
|
|||||||||||||||||||||||||||||
![]() |
|
Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое. |
||
При использовании материалов - ссылка на сайт обязательна. |