Главная » Просмотр файлов » Введение в распределённые алгоритмы. Ж. Тель (2009)

Введение в распределённые алгоритмы. Ж. Тель (2009) (1185665), страница 38

Файл №1185665 Введение в распределённые алгоритмы. Ж. Тель (2009) (Введение в распределённые алгоритмы. Ж. Тель (2009).pdf) 38 страницаВведение в распределённые алгоритмы. Ж. Тель (2009) (1185665) страница 382020-08-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 38)

При изложенииматериала в этом параграфе мы будем придерживаться работы Лампорта [125].При построении алгоритма мы будем опираться на следующие допущения.N1. Каждый узел осведомлен о размере всей сети (N).N2. В каналах поддерживается очередность сообщений.N3. Узлы получают уведомления о возникновении неисправностей и восста­новлении работоспособности примыкающих к ним каналов.N4. Стоимость пути равна количеству каналов в этом пути.Алгоритм может справиться с возникновением неисправностей и восстанов­лением работоспособности каналов, а также с добавлением новых каналов связи,но при этом предполагается, что всякий узел немедленно узнает о поврежденииили восстановлении примыкающих к нему каналов связи. Повреждение и вос­становление узлов сети в расчет не принимается; считается, что повреждениеузла сети воспринимается его соседями как повреждение каналов, связывающихих с этим узлом.

В каждом узле и алгоритм вычисляет и поддерживает таблицуNbu[v], в которой для каждой вершины-адресата v указывается тот сосед узлаи, которому должен быть отправлен пакет, адресованный вершине и. Мы не мо­жем требовать, чтобы вычисление этих таблиц всегда завершалось за конечноечисло шагов, поскольку постоянные обрывы и восстановления каналов связи мо­гут потребовать столь же частых перевычислений. К алгоритму предъявляютсяследующие требования.R1. Если топология сети после конечного числа изменений остается далеенеизменной, то алгоритм завершает работу после конечного числа шагов.R2. Когда алгоритм завершает работу, таблицы Nbu[v\ удовлетворяют сле­дующим условиям:а) если v = и, то Nbu[v] — local;б) если существует путь из вершины и в вершину v ф и, то Nbu[v] = w, гдеw — это первая вершина-сосед узла и, который следует за и в кратчайшемпути яз и в и;в) если пути из вершины и в вершину v нет, то Nba[v] = udef.4.3.1.

Описание алгоритмаАлгоритм Таджипнаписа Netchange состоит из двух частей: алгоритм 4.8 и ал­горитм 4.9. Сначала мы объясним содержательный смысл всех операций алго­ритма, а затем формально докажем его корректность. Чтобы добиться ясностиизложения, мы упростили моделирование топологических изменений по сравне­нию с тем, как это описано в работе [125]: предполагается, что уведомлениеГл.

4. Алгоритмы маршрутизации138о каждом таком изменении обрабатывается одновременно в обоих узлах, кото­рые оказываются затронутыми этим изменением. В §4.3.3 мы укажем, как этиуведомления можно обрабатывать асинхронно.var N e ig h uDuNbun d is u: множество вершин;(* Соседи узла и *)(* Du \v\ — это оценка величины d ( u , v) *)(* N b u [v\ — это предпочтительные соседи вершины ипри отправлении сообщений вершине-адресату и *): массив размера 0.. N ; (* n d i s u [w, ц] — это оценка величины d ( w , v) *): массив размера 0.. N;: массив вершин;Инициализация:b egin forall w e N e ig h u , v € V do n d i s u [w, v] := N ;forall v € V dob egin D u[v\ := N ; N b u [v] := u d e f end;D u [u\ ■= 0 ; N bu[u\ := l o c a l ;forall w € N e ig h u do send (m yd ist, u, 0) to wendПроцедура П е р е в ы ч и с л е н и е (и):b egin if v = иth en b egin D u [v\ := 0 ; N b u [v] := l o c a l en de ls e b egin (* Оценить расстояние до вершины v *)d := 1 + min{ndisu[w,v] : w eNeighu} ;if d < N th enb egin D u [v] := d ;N b u [v] := w с 1 + n d i s u [w, v] = dendelse b egin D u [v] := N ; N b u [v] := u d e f endend;if переменная D u [v] изменила значение th enforall x 6 N e ig h u do send (m ydist, v, Du[v\) to xendАлгоритм 4.8.Алгоритм Netchange (Часть 1, для узла и).Выбор того соседа, которому отправляются пакеты, адресованные узлу v, ос­новывается на оценках расстояния от каждой вершины до узла и.

Предпочте­ние всегда отдается тому соседу, у которого эта оценка является наименьшей.В памяти узла и хранится оценка Da[v] расстояния d(u, v) и оценки ndisu[w, v ]расстояний d(w, v) для каждого соседа w вершины и. Оценка Du[v] вычисля­ется на основании оценок ndisu[w, v], а оценки ndisu[w, v] получаются путемвзаимосвязи с соседями.Вычисление оценок Da[v] проводится следующим образом.

Если и = и, тоd(u, v) = 0, и в этом случае значение Du[v] полагается равным 0. Если и Ф и, тократчайший путь из вершины и в вершину v (если таковой существует) состоитиз канала, соединяющего узел и с одним из его соседей, и кратчайшего пути,4.3. Алгоритм Netchange139Обработка сообщения (mydist, v, d), полученного от соседа да:{ Сообщение (mydist, v, d) в начале очереди Qwu }begin receive (mydist, v, d) from да ;ndisu[w, v] := d ; Перевычисление (a)endВ случае выхода из строя канала uw:begin receive (fail, да) ; Neighu '■= Neighu \ {да} ;forall v 6 V do Перевычисление (v )endВ случае восстановления канала uw:begin receive (repair, да) ; Neighu '■ = Neighu U {да} ;forall v € V dobegin ndisu[w, v] := N ;send (mydist, v, Du[v\) to wendendАлгоритм 4.9.Алгоритм N etchange (Часть 2, для узла и).который соединяет этого соседа с вершиной v. Следовательно,d(u, v) =1+minw€~Neighud(w, и).Руководствуясь этим уравнением, мы получаем оценку величины d(u, v) в узлеи Ф v за счет применения указанной формулы к оценкам величин d(w, v), со­держащимся в таблицах ndisu[w, v], Коль скоро в сети имеется N узлов, длинапути с наименьшим числом звеньев не превосходит N —1.

Если же вычисленнаяоценка длины не меньше чем N, то можно предполагать, что такого пути вообщене существует; именно для этой цели в таблице используется значение N.В этом алгоритме требуется, чтобы в узле хранились оценки расстояния отсоседних вершин до вершины v. Эти оценки поступают от соседних вершин, таккак они передаются в сообщениях типа mydist следующим образом. Если в узлеи была вычислена оценка d расстояния от него до вершины v (Du[v] = d), то этаинформация передается всем соседним вершинам в сообщении (mydist, v, d).После получения сообщения (mydist, v, d) от соседа w, в узле и переменнойndisu[w, v] присваивается значение d.

В результате изменения значения пере­менной ndisu[w, v] оценка d(u, v) в узле и может измениться, и поэтому этаоценка перевычисляется всякий раз, когда происходят изменения в таблице ndisuЕсли оценка расстояния и в самом деле изменяется, например становится рав­ной d', то об этом, конечно же, оповещаются все соседи при помощи сообщений(mydist, v, d').В ответ на выход из строя или восстановление работоспособности каналасвязи алгоритм вносит изменения в локальные таблицы и отправляет сообще­ние типа mydist, если при этом изменяются оценки расстояний. Предполагается,140Гл.

4. Алгоритмы маршрутизациичто уведомления о поломках и починках каналов связи (допущение N3) посту­пают в виде сообщений типа fail и repairl. Канал связи между узлами и.\ и и2моделируется парой очередей QUlU2 для сообщений от и\ к и.2 и Q„2Ul для со­общений от U.2 к мь Когда канал выходит из строя, эти очереди удаляются изконфигурации (что немедленно влечет за собой потерю всех сообщений в обеихочередях), а узлы по обе стороны канала связи получают сообщение типа fail.Если канал связи между узлами и\ и « 2 обрывается, то процесс и\ получаетсообщение (fail, иг), а процесс « 2 — сообщение (fail, и\). Когда связь в каналевосстанавливается (или в сети появляется новый канал связи), в конфигурациивозникают две новые пустые очереди, а узлы по обе стороны этого канала связиполучают сообщение типа repair.

Если между узлами и\ и « 2 образуется каналсвязи, то процесс и\ получает сообщение (repair, « 2 ), а процесс « 2 — сообщение(repair, и\).Алгоритм предусматривает следующую реакцию на сообщения о разрыве иливосстановлении канала связи. Когда выходит из строя канал связи между узламии и да, вершина да удаляется из списка Neighu, и наоборот. Проводится перевы­числение оценок расстояний до каждой вершины, и в случае изменения оценки,об этом узнают все оставшиеся соседи.

Это происходит, если неисправный ка­нал ранее был одним из звеньев наилучшего маршрута и не осталось ни одногососеда да', для которого верно равенство ndisu[w\ v ] = ndisu[w, v]. Когда каналсвязи восстанавливается (или добавляется новый канал), вершина да добавляетсяк списку вершин Neigha, но в памяти узла и еще нет никаких оценок расстоя­ния d(w, v) (и наоборот). Новому соседу да немедленно сообщаются оценки Du[v]расстояний от узла и до всех возможных вершин-адресатов v (путем отправлениясообщений (mydist, v, Du[v]).

До тех пор пока узел и не получит такого сооб­щения от узла да, величина N будет использоваться в нем для оценки расстоянияd(w, v), т. е. значение переменной ndisa[w, v ] полагается равным N.Р(и, да, v) =ир(и, да) <==>■ да € NeighuЛ ир(и, да) Л Qwu содержит сообщение (m yd ist, v, d)Л=>■ последнее сообщение в очередиудовлетворяет равенству d = Dw[v\ир(и, да) Л Qwu не содержит сообщений (m yd ist, v, d)==>■ ndisu[w, v\ = Dw[v\(1)(2)(3)L(u, ti)ЛЛи = v ==>■ (Du[v] = 0 A Nbu[v] = local )(и Ф v Л Эда e Neighu: ndisu[w, u] < N —1)==>■ {Du[v\ = 1 + min ndisu[w, v\ = \ A-ndisu[Nbu[v\, v\)weNeighu( u / o A V® e Neighu: ndisu[w, u] ^ N —1){Du[v] = N A Nbu[v] = udef)Рис. 4.10. Инварианты P(u, да, и) и L(u, v)(4)(5)( 6)4.3. Алгоритм Netchange141Инварианты алгоритма Netchange. Мы установим, что утверждения, при­веденные на рис.

4.10, являются инвариантами. Формула Р(и, да, v) выражаетутверждение о том, что если процесс и завершил обработку сообщений типа my­dist, полученных от процесса да, то оценка расстояния d(w, v) в узле и совпадаетс оценкой расстояния d(w, v) в узле да. Мы будем считать, что предикат up {и, да)принимает значение true тогда и только тогда, когда между узлами к и ю есть(двунаправленный) исправный канал связи. Формула L(u, v) гласит, что оцен­ки расстояний d(u, v) и содержимое списка Nba[v] в узле и всегда согласованос теми данными, которые хранятся в локальной памяти узла и.Вычисление алгоритма завершается, когда в каналах связи не остается ни од­ного сообщения, находящегося на этапе пересылки. Конфигурации такого вида неявляются заключительными конфигурациями для всей системы в целом, потомучто вычисление системы может быть продолжено, после того как какой-нибудьканал выйдет из строя или восстановит свою работоспособность (что потребуетреакции со стороны алгоритма).

Характеристики

Тип файла
PDF-файл
Размер
18,19 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее