Рефераты. Распределенные алгоритмы

Утверждение 13.1 Пусть последовательности и  применимы в конфигурации , и пусть ни один процесс не участвует одновременно в  и , тогда  применима в ,  применима в , и .

Доказательство. Следует из повторного применения Теоремы 2.19.                        o


Процесс  имеет входную переменную , доступную только для чтения, и выходной регистр однократной записи  с начальным значением . Входная конфигурация полностью определяется значением  для каждого процесса . Процесс  может принять решение о значении (обычно 1 или 0) записью его в ; начальное значение  не является значением решения. Предполагается, что корректный процесс исполняет бесконечно много событий при законном выполнении; в крайнем случае, процесс всегда может выполнять (возможно пустое) внутреннее событие.


Определение 13.2 t-аварийное законное выполнение - выполнение, в котором по меньшей мере N-t процессов исполняют бесконечно много событий, и каждое сообщение, посылаемое корректному процессу, получается. (Процесс корректен, если исполняет бесконечно много событий.)

Максимальное число сбойных процессов, с которым может справиться алгоритм, называется способностью восстановления алгоритма, и всегда обозначается . В этом разделе демонстрируется невозможность существования асинхронного, детерминированного алгоритма со способностью восстановления 1.


Определение 13.3 1-аварийно-устойчивый алгоритм согласия - алгоритм, удовлетворяющий следующим трем требованиям.

(1)     Завершение. В каждом 1-аварийном законном исполнении, все корректные процессы принимают решение.

(2)     Согласованность. Если в достижимой конфигурации  и  для корректных процессов  и , то .

(3)     Нетривиальность. Для  и для  существуют достижимые конфигурации, в которых для некоторого  .

Для  конфигурация называется v-решенной, если для некоторого  ; конфигурация называется решенной, если она 0-решенная или 1-решенная. В -решенной конфигурации какой-нибудь процесс принял решение . Конфигурация называется v-валентной, если все решенные конфигурации, достижимые из нее, v-решенны. Конфигурация называется бивалентной, если из нее достижимы как 0-валентные, так и  1-валентные конфигурации, и унивалентной, если она либо 1-валентная, либо 0-валентная. В унивалентной конфигурации, хотя никакое решение не было обязательно принято никаким процессом, окончательное решение уже неявно определено.

Конфигурация  -устойчивого протокола называется развилкой, если существует множество  (самое большее) из  процессов и конфигурации  и  такие, что , , и  -валентна. Неформально, - развилка, если подмножество из  процессов может добиться 0-решенности так же, как и 1-решенности. Следующее утверждение формально фиксирует, что в любой момент оставшиеся процессы должна вынести аварию самое большее  процессов.


Утверждение 13.4 Для каждой достижимой конфигурации t-устойчивого алгоритма и каждого подмножества S по меньшей мере из N-t процессов существует решенная конфигурация  такая, что .

Доказательство. Пусть   и  удовлетворяют условию и рассмотрим выполнение, которое достигает конфигурации  и содержит бесконечно много событий в каждом процессе из  впоследствии (и никаких шагов процессов не из ). Это выполнение - t-аварийное законное, и процессы в  корректны; следовательно они достигают решения                                                                                                    o


Лемма 13.5 Достижимой развилки не существует.

Доказательство. Пусть    - достижимая конфигурация и  - подмножество самое большее из  процессов.

Пусть  будет дополнением , т.е., . В  по меньшей мере N-t  процессов, следовательно существует решенная конфигурация  такая, что  (Утверждение 13.4). Конфигурация  либо 0-, либо 1-решенная; положим, что она 0-решенная.

Сейчас будет показано, что  ни для какой 1-валентной ; пусть  - любая такая конфигурация, что . Так как шаги в  и  заменяются (Утверждение 13.1), есть конфигурация , которая достижима и из , и из. Так как  - 0-решенна, то и- тоже, что показывает не 1-валентность .     o


13.1.2 Доказательство невозможности

Сначала, используя нетривиальность проблемы, покажем что существует бивалентная начальная конфигурация (Лемма 13.6). Вполедствии будет показано, что начиная с бивалентной конфигурации, каждый доступный шаг можно исполнять без перехода в унивалентную конфигурацию (Лемма 13.7). Этого достаточно, чтобы показать невозможность алгоритмов согласия (Теорема 13.8). В дальнейшем, пусть А - 1-аварийно-устойчивый алгоритм согласия.


Лемма 13.6 Для А существует бивалентная начальная конфигурация.

Доказательство. Так как А нетривиален (Определение 13.3), то есть достижимые 0- и 1-решенные конфигурации; пусть  и  - начальные конфигурации такие, что -решенная конфигурация достижима из .

Если , эта начальная конфигурация бивалентна и результат имеет силу. Иначе, есть начальные конфигурации  и  такие, что -решенная конфигурация достижима из , и  и  различаются входом одного процесса. Действительно, рассмотрим последовательность начальных конфигураций, начинающуюся с  и заканчивающуюся , в которой каждая следующая начальная конфигурация отличается от предыдущей в одном процессе. (Эта последовательность получается инвертированием входных битов одного за другим.) Из первой конфигурации в последовательности, , достижима 0-решенная конфигурация, и из последней, , достижима 1-решенная конфигурация. Так как решенная конфигурация достижима из каждой начальной конфигурации, описанные  и  можно найти в последовательности. Пусть  - процесс, в котором  и  различны.

Рассмотрим законное выполнение, начинающееся с , в которой  не делает шагов; это выполнение 1-аварийно законное и следовательно достигает решенной конфигурации . Если  1-решенная,  бивалентна. Если  0-решенная, заметьте, что  отличается от  только в , а  не делает шагов в выполнении; следовательно  достижима из , что показывает бивалентность . (Более точно, конфигурация  достижима из , где  отличается от  только в состоянии ; следовательно  0-решенная.)    o

Чтобы поñòðîèòь законное выполнение без принятия решения мы должны показать, что каждый процесс может сделать шаг, и что каждое сообщение может быть получено не обуславливая принятие решения. Пусть шаг s обозначает получение и обработку отдельного сообщения  или спонтанное действие (внутреннее или посылки) отдельного процесса. Состояние процесса, делающего шаг, может привести к различным событиям. Прием сообщения применим, если оно в пути, и спонтанный шаг всегда применим.


Лемма 13.7 Пусть - достижимая бивалентная конфигурация и  s - применимый шаг для процесса p в . Существует последовательность событий  такая, что s применим в , и  бивалентна.

Доказательство. Пусть  С - множество конфигураций, достижимых из  без применения s, т.е., С = {: s не происходит в }; s применим в каждой конфигурации С (напомним, что s - шаг, а не отдельное событие).

В С есть конфигурации  и  такие, что из  достижима v-решенная конфигурация. Чтобы убедится в этом, заметим, что, т.к.  бивалентна, из нее достижимы v-решенные конфигурации  для v =0,1. Если  (т.е. для достижения решенной конфигурации s не применялся), заметим, что , тем не менее, v-решенная, поэтому выберем . Если  (т.е. для достижения решенной конфигурации s применялся), выберем  как конфигурацию, из которой применялся s.

Если ,  - искомая бивалентная конфигурация. Предположим, что , и рассмотрим конфигурации на путях от  до  и . Две конфигурации на этих путях называются соседними, если одна получается из другой за один шаг. Так как 0-решенная конфигурация достижимаа из  и 1-решенная конфигурация достижима из , то

(1)     на путях есть конфигурация  такая, что  бивалентна; или

(2)     есть соседи  и  такие, что  0-валентна и  - 1-валентна.

В первом случае  - искомая бивалентная конфигурация и лемма доказана. Во втором случае, одна конфигурация из  и  - развилкой, что является противоречием. Действительно, предположим, что  получена за один шаг из , т.е.,  для события e в процессе q. Теперь  - это  и, следовательно, 1-валентна, но  не 1-валентна, т.к.  уже 0-валентна. Итак, е и s не заменяются, что подразумевает (Теорема 2.19) , что p = q, но тогда достижимая конфигурация  удовлетворяет  и . Так как первая 0-валентна, а последняя 1-валенттна,  - развилка, что является противоречием.                                                                                                                               o


Теорема 13.8 Асинхронного, детерминированного, 1-аварийно-устойчивого алгоритма согласия не существует.

Доказательство. Если предположить, что такой алгоритм существует, можно построить законное выполнение без принятия решения, начиная с бивалентной начальной конфигурации .

Когда построение дойдет до конфигурации , выберем в качестве  применимый шаг, который был применим самое большое число раз. По предыдущей лемме, выполнение можно расширить так, что исполняется  и достигается бивалентная конфигурация .

Такое построение дает бесконечное законное выполнение, в котором все процессы корректны, но решение никогда не будет принято.                                                                                        o


13.1.3 Обсуждение

Вывод утверждает, что не существует асинхронных, детерминированных, 1-аварийно-устойчивых алгоритмов решения для проблемы согласия; это исключает алгоритмы для класса нетривиальных проблем. (см. Подраздел 12.2.2).

К счастью, некоторые предположения, лежащие в основе результата Фишера, Линча и Патерсона, можно выразить явно, и результат, как оказывается, очеть чувствителен к ослаблению любого из них. Несмотря на вывод о невозможности, многие нетривиальные проблемы имеют решения, даже в асинхронных системах и где процессы могут отказывать.

(1)     Ослабленная модель отказов. Раздел 13.2 рассматривает модель отказов изначально-мертвых процессов, которая слабее, чем модель аварий, и в этой модели согласие и выборы детерминированно достижимы.

Страницы: 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, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.