Теормин, страница 2
Описание файла
Документ из архива "Теормин", который расположен в категории "". Всё это находится в предмете "распределенные алгоритмы" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Онлайн просмотр документа "Теормин"
Текст 2 страницы из документа "Теормин"
Частично упорядоченное множество (W, <) называется фундированным, если из его элементов нельзя составить бесконечно убывающую последовательность.
Определение 3.4.
Пусть заданы система переходов S и утверждение P. Функция f, отображающая множество C в фундированное множество W, называется функцией нормировки (по отношению к P), если для каждого перехода y -> z, либо выполняется f(y) > f(z), либо P(z) принимает истинное значение.
Теорема 3.3.
Пусть заданы система переходов S и утверждение P. Если S правильно завершает выполнения, и существует функция нормировки f (по отношению к P), то для каждого выполнения S утверждение P становится истинным в некоторой конфигурации.
Теорема 3.4.
Утверждение P является инвариантом алгоритма раздвижного окна.
Теорема 3.5.
Симметричный протокол раздвижного окна удовлетворяет требованию безопасной доставки сообщений, т.е. в каждой достижимой конфигурации протокола выполняются соотношения outp[0..sp-1]=inq[0..sp-1], outq[0..sq-1]=inp[0..sq-1]
Лемма 3.1.
В любой достижимой конфигурации выполняются неравенства sp - lq <= aр <= sq <= aq + lp <= sp + lp
Лемма 3.2.
В любой достижимой конфигурации допустимо хотя бы одно из двух действий: отправление пакета (расk, inp[sq], sq) процессом р или отправление пакета (расk, inq[sp], sp) процессом q.
Теорема З.6.
Симметричный протокол раздвижного окна удовлетворяет требованию неизбежной доставки сообщений, т.е. для каждого целого числа к >= 0 , в ходе любого выполнения протокола будет достигнуты конфигурация, в которой sp >= k и sq >= k.
Пусть L = lр + lq
Лемма 3.3.
Отправление пакета (расk, w, i) процессом p допустимо только тогда, когда i < ap + L.
Лемма 3.4.
Если outp[i] ≠ udef, то выполняется неравенство i < sp + L.
Такой вариант алгоритма раздвижного окна называется протоколом чередующихся (альтернирующих) битов; он предназначен для односторонней передачи данных (L=1).
-
Коммуникационный протокол с таймерами. Допущения о времени. Таймеры. Устройство протокола с таймерами. Обоснование корректности протокола с таймерами. Модификации протокола.
Упрощённый протокол сквозной передачи сообщений:
-
Однонаправленность. Передача данных идет только в одном направлении от процесса p к процессу q. Мы будем называть процесс p отправителем, а процесс q — получателем.
-
В окне приема — одно слово. Поступивший пакет получатель доставляет по назначению только в том случае, когда его порядковый номер совпадает с ожидаемым номером.
-
Упрощенные допущения о времени. Используется минимальное количество таймеров. Например, предполагается, что подтверждение может быть отправлено в любое время до тех пор, пока получатель поддерживает соединение открытым.
-
Пакеты состоят из одного слова. В каждый пакет данных отправитель может поместить одно-единственное слово.
Таймеры — устройства, измеряющие физическое время
-
Глобальное время. Все процессы системы функционируют в рамках единой глобальной шкалы времени. Каждое событие происходит мгновенно, и процессы не могут регистрировать те моменты времени, в которые происходят события.
-
Ограниченное время жизни пакета
-
Таймер — это вещественная переменная Xt, значение которой со временем постоянно убывает (или присваивается этой переменной явным образом).
Утверждение:
Никакой протокол не может предоставить гарантии того, что слово будет доставлено по назначению за ограниченный срок времени. (т.е. невозможно одновременное отсутствие потерь и сохранение порядка)
<дальше шёл алгоритм, доказательство его корректности, безопасности, инварианта, …> см. слайды
Теорема 4.3. (об отсутствии потерь)
Каждое слово массива inp либо достигает процесса q, либо отмечается процессом p как утраченное в течение U + 2µ + R + λ единиц времени после поступления этого слова процессу р.
Теорема 4.4. (о сохранении порядка вручения)
Слова, доставленные процессом q потребителю, расположены в строго возрастающем порядке в массиве inp.
-
Задача маршрутизации. Маршрутизация на основе узлов-адресатов. Задача построения кратчайших путей для всех пар вершин. Алгоритм Флойда-Уоршалла. Алгоритм Туэга. Алгоритм Мерлина-Сигалла. Алгоритм Чанди-Мисры.
Из каждого узла пакеты информации могут непосредственно передаваться только некоторому подмножеству других узлов, которые называются соседями этого узла.
Маршрутизация — это процедура принятия решения о том, какому соседу (иногда не единственному) следует передать пакет, чтобы он в конце концов был доставлен по назначению. Цель, которая ставится при проектировании алгоритма маршрутизации, состоит в том, чтобы снабдить каждый узел процедурой, которая сможет выполнять эту функцию и гарантировать доставку каждого пакета по назначению.
Задачу маршрутизации можно разбить на две алгоритмические составляющие:
-
Вычисление таблиц. Таблицы маршрутизации должны быть вычислены при инициализации сети и должны обновляться при изменении топологии сети.
-
Продвижение пакета. Когда пакет пересылается по сети, то его продвижение осуществляется на основе таблиц маршрутизации.
Критерии оценки качества методов маршрутизации учитывают следующие показатели.
-
Корректность. Алгоритм должен доставлять каждый пакет, поступивший в сеть, в точности по назначению.
-
Эффективность. Алгоритм должен отправлять пакеты по «наилучшим» путям.
-
Сложность. Алгоритм вычисления таблиц должен использовать как можно меньше сообщений, расходовать как можно более экономно время и память.
-
Устойчивость. В случае изменения топологии (добавлении или удалении канала или вершины) алгоритм вносит изменения в таблицы маршрутизации, для того чтобы задачу маршрутизации можно было решить в модифицированной сети.
-
Адаптивность. Для того чтобы выровнять загруженность каналов и вершин, алгоритм приспосабливает к этому таблицы, избегая прокладывать пути через те каналы и вершины, которые чрезмерно загружены, и отдавая предпочтение тем каналам и вершинам, на которые в это время возложена наименьшая нагрузка.
-
Справедливость. Алгоритм должен обслуживать всех пользователей в равной мере.
Несколько вариантов понятия «наилучший путь» :
-
Минимальное количество звеньев.
-
Минимальная стоимость.
-
Минимальная задержка.
Основные допущения о свойствах маршрутов:
-
Стоимость отправления пакета по пути P не зависит от того, используются ли ребра пути P для продвижения других сообщений. Поэтому стоимость C(P) пути P — это функция, зависящая только от самого пути.
-
При последовательном соединении двух путей образуется новый путь, стоимость которого равна сумме стоимостей двух исходных путей, т.е. C({u0, u1, ..., uk}) = C({u0, ..., ui}) + C({ui, ..., uk}).
Стоимость пустого пути {u0} равна 0.
-
В графе нет циклов отрицательной стоимости.
Путь из вершины u в вершину v называется оптимальным если нет пути меньшей стоимости из u в v.
Лемма 5.1. (о простых путях).
Пусть u и v — вершины графа G. Если в графе G есть путь P из u в v, то имеется также и простой путь из u в v, который является при этом оптимальным.
Теорема 5.1. (о дереве оптимальных путей).
Для каждой вершины u ∈ V связного графа G существует такое дерево Tu = (V, Eu), Eu ⊆ E, в котором для любой вершины v ∈ V, единственный путь из v в u в дереве Tu является оптимальным путем из v в u в графе G.
Остовное дерево, корнем которого служит вершина u, называется входным деревом для u, а дерево, удовлетворяющее теореме о дереве оптимальных путей, называется оптимальным входным деревом.
Существование оптимального входного дерева означает, что алгоритм оптимальной маршрутизации может работать с использованием следующей локальной процедуры table_lookupv.
Лемма 5.2. (об ациклических таблицах)
Механизм продвижения доставляет каждый пакет по назначению в том и только том случае, когда таблицы маршрутизации являются ациклическими.
S-путь – путь через вершины подмножества S всех вершин V.
Алгоритм Флойда-Уоршалла
<описание алгоритма Флойда-Уоршалла> см. слайды
Допущения:
-
Каждый цикл имеет положительный вес
-
Каждый процесс располагает информацией об отличительных признаках всех узлов системы
-
Каждый процесс знает кто его соседи (знает их отличительные признаки) и вес соединяющих их каналов
Теорема 5.3. (об алгоритме Флойда-Уоршалла)
Алгоритм Флойда-Уоршалла вычисляет расстояние между всеми парами вершин за θ(N3) шагов.
Алгоритм Туэга
В основу алгоритма Туэга (Toueg) положен централизованный алгоритм Флойда-Уоршалла.
<описание алгоритма Туэга (Toueg)> см. слайды
Допущения:
-
Каждый цикл имеет положительный вес
-
Каждый процесс располагает информацией об отличительных признаках всех узлов системы
-
Каждый процесс знает кто его соседи (знает их отличительные признаки) и вес соединяющих их каналов
Теорема 5.5. (корректности и сложности алгоритма Туэга)
Для каждой пары вершин u и v алгоритм Туэга вычисляет расстояние между u и v. Если это расстояние конечно, то он также определяет первый канал в кратчайшем пути.
По ходу работы алгоритма по каждому каналу проходит O(N) сообщений, O(N2W) битов информации. Таким образом, суммарно по ходу работы алгоритма передается O(N *|Е|) сообщений и O(N3 * W) битов информации. Кроме того в каждом узле используется память, объем которой составляет O(N * W) битов.
Алгоритм Туэга:
Достоинства: Прост, имеет небольшую сложность, и строит оптимальные маршруты.
Недостатки:
-
Плохая устойчивость («робастость»): при изменении топологии сети все вычисления нужно проводить заново.
-
Согласованный выбор очередной опорной вершины (w) всеми узлами сети предполагает, что множество участвующих в алгоритме процессов заранее известно.
-
В алгоритме Туэга часто применяется неравенство треугольника d(u, v) < d(u, w) + d(w, v). Для вычисления правой части этого неравенства (в узле u) требуется «глобальная» информация о d(w, v), которой не обладает ни процесс u, ни его соседи. Зависимость от удаленных данных вынуждает нас организовать доставку этой информации удаленным вершинам.
Алгоритм Мерлина-Сигалла
<алгоритм Мерлина-Сигалла> см. слайды
Особенности:
-
Алгоритм может быть приспособлен к изменяющейся топологии.
-
Вычисления для разных вершин адресатов проводятся независимо.
-
Походу вычислений таблицы всегда находятся в ациклическом состоянии.
Теорема 5.6. (корректности и сложности алгоритма Мерлина-Сигалла)
Алгоритм Мерлина—Сигалла вычисляет таблицы маршрутизации по кратчайшим путям, совершая при этом обмен O(N2) сообщениями и передавая O(N2 * W) битов информации по каждому каналу связи, имея, таким образом, коммуникационную сложность O(N2 * |Е|) и битовую сложность O(N2 * |E|W).
Алгоритм Чанди-Мисры вычисляет все кратчайшие пути к заданной вершине-адресату на основе принципа диффузных вычислений. Суть его такова: распределенное вычисление начинается в одной-единственной вершине, и другие узлы сети поочередно присоединяются к вычислению только после получения сообщения.
Подробнее см. слайды.
Сложность Чанди-Мисры совпадает со сложностью Мерлина-Сигалла.
(я не вижу разницы между этими алгоритмами)
-
Алгоритм маршрутизации Netchange. Описание алгоритма. Инварианты алгоритма Netchange. Корректность алгоритма Netchange. Сходимость алгоритма Netchange. Особенности реализации алгоритма. Другие виды маршрутизации: интервальная, префиксная, иерархическая.
В нем поддерживается дополнительная информация, чтобы в случае возникновения неисправности в канале или восстановления работоспособности канала уточнять таблицы путем их частичного перевычисления.