ref (664672), страница 14

Файл №664672 ref (Распределенные алгоритмы) 14 страницаref (664672) страница 142016-07-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Toueg дал дальнейшую оптимизацию алгоритма, полагаясь на следующий результат. (Узел u2 потомок u1 если u2 принадлежит поддереву u1)

Лемма 4.10 Пусть u1 w, и пусть u2 потомок u1 в Tw, в начале w-централизованного обхода, если u2 изменит своё расстояние до v во время w-централизованного обхода, тогда и u1 изменит своё расстояние до v в этом же обходе.

Доказательство. Так как u2 потомок u1 в Tw :

dS(u2, w) = dS (u2, u1) + dS (u1, w). (1)

Так как u1S:

dS(u2, v) dS (u2, u1) + dS (u1,v). (2)

Узел u2 изменит Du2 [v] в данном обходе тогда и только тогда когда

dS(u2, w) + dS (w, v) < dS (u2, v). (3)

Применяя (2), и затем (1), и вычитая dS(u2, u1), мы получим

dS(u1, w) + dS (w, v) < dS (u1, v) (4)

значит u1 изменит Du1 [v] в этом обходе.

В соответствии с этой леммой, Алгоритм 4.6 может быть модифицирован следующим образом. После получения таблицы Dw, (сообщение <dtab, w,D>) узел u вначале выполняет локальные w-централизованные операции, и затем рассылает таблицы своим сыновьям в Tw. Когда пересылка таблицы закончилась достаточно переслать те ссылки D[v] для которых Du[v] изменилась в течение локальной w-централизованной операции. С этой модификацией таблицы маршрутизации не содержат циклов не только между централизованными обходами (как сказано в Лемме 4.7), но также в течение централизованных обходов.

4.2.3 Обсуждение и Дополнительные Алгоритмы

Представление алгоритм Toueg предоставило пример как распределенный алгоритм может быть получен непосредственным образом из последовательного алгоритма. Переменные последовательного алгоритма распределены по процессам, и любое означивание переменной x (в последовательном алгоритме) выполняется процессом владеющим x. Всякий раз когда ознaчивающее выражение содержит ссылки на переменные из других процессов, связь между процессами потребуется для передачи значения и синхронизации процессов. Специфические свойства последовательного алгоритма могут быть использованы для минимизации числа соединений.

Алгоритм Toueg прост для понимания, имеет низкую сложность, и маршрутизирует через оптимальные пути; его главный недостаток в его плохая живучесть. Когда топология сети изменилась все вычисления должны произвестись заново.

Во-первых, как ранее говорилось, однообразный выбор всеми узлами следующего центрального узла (w) требует чтобы множество участвующих узлов было известно заранее. Так как это в основном не известно априори, исполнение расширенного распределенного алгоритма вычисления этого множества (на пример алгоритм Финна, Алгоритм 6.9) должно предшествовать исполнению алгоритма Toueg.

Во-вторых, алгоритм Toueg основан на повторяющимися применениями уникальности треугольника d(u, v) d(u, w) + d(w, v). Оценивание правой стороны ( u) требует информацию о d(w, v), и эта информация в часто удалена, т.е., не доступна ни в u ни в любой из его соседей. Зависимость от удаленных данных делает необходимым транспортирование информации к удаленным узлам, которые могут быть исследованы в алгоритме Toueg (часть распространения).

Как альтернатива, определенное ниже равенство для d(u, v) может использоваться в алгоритмах для проблем кротчайших путей:

 0 если u=v

d(u,v)=  (4.1)

wuw+d(w,v) иначе

Два свойства этого равенства делают алгоритмы основанные на этом отличными от алгоритма Toueg.

(1) Локальность данных. Во время оценивания правой стороны равенством (4.1), узлу u необходима только информация доступная локально (именно, wuw) или в соседях (именно, d(w, v)). Транспортирование данных между удаленными вершинами избегается.

(2) Независимость пункта назначения. Расстояния до v (именно, d(w, v) где w сосед u) только нуждаются в вычислении расстояния от u в v. Таким образом, вычисление всех расстояний до фиксированного пункта назначения vo может происходить независимо от вычисления расстояния до других узлов, и также, может бать сделано обособленно.

В завершение этой части обсуждены два алгоритма основанные на равенстве, а именно алгоритмы Мерлина-Сигалла и Чанди-Мизра. Не смотря на преимущества от локальности данных, сложность соединений этих алгоритмов не лучше алгоритма Toueg. Это из-за независимости пункта назначения введенного равенством(4.1); очевидно, использование результатов для других пунктов назначения (как сделано в алгоритме Toueg) более выгодный прием чем локальность данных.

Если это не ведет к уменьшению сложности соединений, тогда каково значение локальности данных? Уверенность в удаленных данных требует повторных распространений если данные могли измениться из-за топологических изменений сети. Доведение до конца этих распространений (с возможными новыми топологическими изменениями в течение распространения) вызывает нетривиальные проблемы с дорогими решениями (см., на пример, [Gaf87]). Более того, алгоритмы основанные на равенстве 4.1 могут быть более легко адаптированы к топологическим изменениям. Оно служит примером в части 4.3, где подробно разобран такой алгоритм.

Алгоритм Мерлина-Сигалла. Алгоритм предложенный Мерлином и Сигаллом [MS79] вычисляет таблицы маршрутизации для каждого пункта назначения абсолютно обособленно; вычисления для различных пунктов назначения не оказывают влияния друг на друга. Для пункта назначения v, алгоритм начинает работу с дерева Tv с корнем в v, и повторно перевычисляет это дерево с тем чтобы оно стало оптимальным деревом стока для v.

Для пункта назначения v, каждый узел u содержит оценку расстояния до v (Du[v]) и соседа через которого пакет для u пересылается (Nbu[v]), который также является отцом u в Tv. В период перевычисления каждый узел u посылает свою оценку расстояния, Du[v], к всем соседям исключая Nbu[v] (в < mydist, v, Du[v]> сообщении). Если узел u получает от соседа w сообщение v,d> и если d+wuv < Du[v], u изменит Nbu[v] на w и Du[v] на d + wuv. Период перевычисления контролируется узлом v и требует обмена двумя сообщениями в W бит на каждый канал.

В [MS79] показано что после i периодов перевычислений все кротчайшие пути в более чем i шагов будут корректно вычислены, так что после N раундов все кротчайшие пути будут вычислены. Кротчайшие пути в каждый пункт назначения вычисляются выполнением алгоритма независимо для каждого пункта назначения.

Теорема 4.11 Алгоритм Мерлина и Сигалла вычисляет таблицы маршрутизации кротчайших путей с обменом 0(N2) сообщениями на канал, 0(N2 W) битами на канал, 0(N2 |E|) сообщениями всего, и 0(N2|E|W) битами всего.

Алгоритм может также адаптироваться к изменениям топологии и весов каналов. Важное свойство алгоритма в том что в течение периода перевычислений таблицы маршрутизации не содержат циклов.

Алгоритм Чанди—Мизра. Алгоритм предложенный Чанди и Мизра [CM82] вычисляет все кротчайшие вычисляет до одного пункта назначения используя парадигму диффузивных вычислений (распределенные вычисления которые инициируются одним узлом, и другие узлы присоединяются только после получения сообщения).

Вычисление, для всех узлов, расстояния до узла vo (и привилегированного исходящего канала), каждый узел u начинает с Du[vo] =  и ждет получения сообщений. Узел vo посылает vo,0> сообщение всем соседям. Когда же узел u получает сообщение <maydist,vo,d> от соседа w, где d + wuw < Du[vo], u заносит значение d+wuv в Du[vo] и посылает сообщение < mydist, vo, D Du[vo]> всем соседям; смотри Алгоритм 4.7.

var Du[vo] : вес init  ;

Nbu[vo] : узел init udef ;

Только для узла vo :

begin Du[vo] := 0 ;

forall wNeighvo do послать < maydist, vo, 0> к w

end

Обработка сообщения < maydist, vo, d> от соседа w узлом u:

{ vo,d>  Mwv }

begin получить vo,d> от w ;

if d + wuw < Du[vo] then

begin Du[vo] := d+wuw ; Nbu[vo] := w ;

forall x Neighu do послать < maydist, vo, Du[vo]> к x

end

end

Алгоритм 4.7 Алгоритм Чанди-Мизра (для узла u).

Не трудно показать что Du[vo] всегда верхняя граница для d(u, vo), т.е., d(u,vq) Du[vo] инвариант алгоритма; см. упражнение 4.3. Чтобы продемонстрировать чти алгоритм вычисляет расстояния верно, нужно показать что в конечном счете достигнется конфигурация в которой Du[vo]d(u, vo) для каждого u. Мы дадим доказательство этого свойства используя предположение допущения слабой справедливости, а именно, что каждое сообщение которое посылается в конечном счете получено в каждом вычислении.

Теорема 4.12 В каждом вычислении Алгоритма 4.7 достигнется конфигурация в которой для каждого узла u, Du[vo] d(u, vo).

Доказательство. Зафиксируем оптимальное дерево стока T для vo и обозначим остальные узлы v1vN-1 таким образом что если vi, отец узла vj, тогда i < j. Пусть C вычисление; можно показано индукцией по j что для каждого j N— 1 достигнется конфигурация в которой, для каждого i j, Dvi[vo] d(vi, vo). Заметим что Dvi[vo] никогда не увеличивается в алгоритме; таким образом если Dvi[vo] d(vi, vo) содержится в некоторой конфигурации то она лучшая конфигурация из всех.

Случай j = 0: d(vo, vo) = 0, и Dvo[vo] = 0 после выполнения инициализационной части узлом vo, , таким образом Dvo[vo]d(vo, vo) содержится после этого выполнения.

Случай j + 1: Допустим что достигнется конфигурация в которой для каждого i j, Dvi[vo]d(vi, vo), и рассмотрим узел vj+1. Имеется кротчайший путь vj+1, vi, ..., vo длины d(vj+1, vo) от vj+1 до vo, где vi отец vj+1 в T, отсюда i j. Следовательно, по индукции, достигается конфигурация в которой Dvi[vo] d(vi, vo). Всякий раз когда Dvi[vo] уменьшится, vi посылает сообщение < mydist, vo, Dvi[vo]> своим соседям, отсюда сообщение < mydist, vo,d>посылается к vj+1 по крайней мере однажды с d d(vi,vo).

По предположению, это сообщение принимается в C узлом vj+1. Алгоритм подразумевает что после получения этого сообщения хранится Dvi[vo] d + , и выбор i подразумевает что d + d(vj+1, vo).

Полный алгоритм также включает механизм с помощью которого узлы могут определить окончание вычисления.; сравним с замечанием об алгоритме Netchange в начале части 4.3.3. Механизм для определения завершения является вариацией алгоритма Дейкстры-Шолтена обсужденного в 8.2.1.

Алгоритм отличается от алгоритма Мерлина-Сигалла двумя вещами. Во-первых, нет "отца" узла u которому не посылаются сообщения типа <mydist,.,.>. Эта особенность алгоритма Мерлина и Сигалла гарантирует что таблицы всегда не содержат циклов, даже в течение вычислений и при наличии топологических изменений. Во-вторых, обмен сообщениями не координируется в раундах, но существует отслеживание завершения, который влияет на сложность не лучшим образом.

Алгоритм может потребовать экспоненциальное количество сообщений для вычисления путей до одного пункта назначения vo. Если стоимости всех каналов равны (т.е., рассматривается маршрутизация с минимальным количеством переходов) все кротчайшие пути к vо вычисляются используя O(N |E|) сообщений ( O(W) бит каждое), руководствуясь следующим результатом.

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

Тип файла
Документ
Размер
5,45 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов реферата

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