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

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

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

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

По каждому ребру дерева передаются два сообщения tok, одно сооб­щение vis (от родительской вершины к ее преемнику) и одно сообщение аск (кродительской вершине от ее преемника). Следовательно, происходит обмен 4|£]сообщениями.□Отправление сообщения vis тем соседям, которым процесс собирается пе­редать маркер, может быть опущено. Это улучшение (оно не приведено в алго­ритме 6.14) позволяет сэкономить по два сообщения на каждом ребре дерева и,следовательно, сокращает сложность по числу обменов сообщениями на 2 N —2сообщения.var usedp[q\fat herрmrsp: boolin it false for each q € Neighp ;(* Указывает, отправлял ли p маркер процессу q *): process in it u d e f;: process in it u d e f;Только для инициатора, выполнить один раз:b egin fatherр := р ; choose q € Neighp ;forall r e Neighp do send vis to r ;usedp[q] := true ; mrsp := q ; send to k to qendДля каждого процесса после получения vis от q(,\b egin usedp[qo\ := true ;if <7o = mrsp th en (* Истолковывать как сообщение tok *)forward tok m essage as upon receipt of tok messageendАлгоритм 6.15.

Алгоритм Сидон поиска в глубину (Часть 1)Решение Сидона. В алгоритме Сидона [53], в отличие от алгоритма Авер­баха, не отправляются сообщения аск, и за счет этого улучшается сложность повремени. В модифицированном алгоритме Сидона маркер отправляется немед­ленно, т. е. без той задержки на две единицы времени, которая введена в ал­горитме Авербаха для ожидания подтверждений. Тот же самый алгоритм былпредложен Лакшмананом и др. [123]. В алгоритме Сидона возможно возникно­вение следующей ситуации.

В процессе р уже побывал маркер, и этот процессуже отправил сообщение vis своему соседу г. Позднее маркер достается про­цессу г, но в тот момент, когда г получает маркер, сообщение vis от р еще не6.4. Сложность по времени: поиск в глубину227Для каждого процесса после получения tok от qо:b egin if mrsp A udef and mrsp / qo(* Это стягивающее ребро, истолковывать как сообщение vis *)th en usedp[qo\ := trueelse(* Поступать, как в предыдущем алгоритме *)b egin if fatherp = udef th enb egin fatherp := <70 ;forall t € Neighp \ {fatherp} dosend vis to ren d ;if p — инициатор and V<7 € Neighp : usedp[q\th en decidee ls e if 3<7 € Neighp : (q / fatherp A ->usedp[q\)then b egin if fatherp / <70 A ->usedP[qo]th en q := <70e ls e choose q € Neighp \ {fatherp}with -lusedplq] ;usedp[q] := true ; mrsp := q ;send tok to qendelse b egin usedp[fatherp] := true ;send tok to fatherpen dendendАлгоритм 6.16.Алгоритм Сидона поиск в глубину (Часть 2)достигло г.

В таком случае г может передать маркер процессу р, отправляя его,таким образом, по стягивающему ребру. (Обратите внимание на то, как сооб­щения аск в алгоритме Авербаха предотвращают подобный сценарий развитиясобытий.)Чтобы справиться с такой ситуацией, процесс р записывает (в переменнуюmrsp) тех соседей, которым он в последнюю очередь отправлял маркер. Когдамаркер проходит только по ребрам дерева, процесс р получает в очередной размаркер от того самого соседа mrsp. А в том сценарии, который был описан выше,р получает сообщение tok от другого соседа, а именно от г; в таком случае саммаркер просто игнорируется, но р помечает ребро гр как использованное,точно так же, как если бы было получено сообщение vis от г.

Процесс г получаетот р сообщение vis, после того как он передал маркер процессу р, т. е. г получаетсообщение vis от своего соседа mrsr. В этом случае процесс г ведет себя так,как если бы он вообще не передавал маркер процессу р, а именно, г выбираетследующего соседа и передает ему маркер (см. алгоритм 6.15/6.16).Теорема 6.35. Алгоритм Сидона (алгоритм 6.15/6.16) строит DFS де­рево за 2N - 2 единицы времени, используя 4|£| обменов сообщениями.228Гл. 6.Волновые алгоритмы и алгоритмы обходаД о к а з а т е л ь с т в о . И вновь перемещение маркера будет подобно томудвижению, которое задается алгоритмом 6.13. Либо его передача по стягивающимребрам отменяется (как и в алгоритме 6.14), либо маркер идет навстречу сооб­щению vis по стягивающему ребру.

В последнем случае процесс, получающийсообщение vis, продолжает передавать маркер, что вызывает такой же эффект,как если бы маркер немедленно вернулся обратно по стягивающему ребру.Промежуток времени между двумя последовательными передачами маркерапо ребру дерева ограничен одной единицей. Если маркер отправлен по ребру де­рева процессу р в момент времени t, то к моменту времени t все сообщения visот тех соседей q процесса р, в которых маркер побывал ранее, были отправлены,и, следовательно, эти сообщения получены самое позднее в момент времени t + 1.Так что, хотя процесс р мог к моменту времени t + 1 передавать маркер по стя­гивающему ребру несколько раз, самое позднее в момент / + 1 он уже исправилвсе эти ошибки и передал маркер по ребру дерева.

Коль скоро необходимо со­вершить 2N —2 прохождений по ребрам дерева, наш алгоритм завершает работуспустя 2N —2 единиц времени.По каждому каналу передаются не более двух сообщений vis и двух сооб­щений tok, и это служит обоснованием тому, что верхняя оценка числа обменовсообщениями равна 4|£|.□Во многих случаях наш алгоритм будет отправлять меньшее количество сооб­щений, нежели алгоритм Авербаха. Проведенный анализ числа сообщений в ал­горитме Сидона проведен в предположении о наихудшем случае, а именно когдамаркер передается по стягивающим ребрам в обоих направлениях.

Можно ожи­дать, что сообщения vis позволят с успехом предотвратить многие нежелательныепередачи, и в таком случае по каждому каналу может передаваться только дваили три сообщения.Сидон отмечает, что, хотя в алгоритме маркер может передаваться тем вер­шинам, в которых он уже побывал, сам алгоритм имеет лучшую сложность повремени (равно как и по числу обменов сообщениями), нежели алгоритм 6.14,и это приводит к предотвращению таких нежелательных передач. Это наводит намысль о том, что для исправления ненужных действий требуется меньше времении сообщений, нежели для предотвращения этих действий.

Сидон оставил откры­тым вопрос о том, существует ли алгоритм поиска в глубину, который достигаеттой же сложности по числу обменов сообщениями, что и классический алгоритм,т. е. 2\Е\, и при этом укладывается в 0(N) единиц времени.6.4.3. Поиск в глубину с учетом сведений о соседяхЕсли процессы осведомлены об отличительных признаках своих соседей, топередачу маркера по стягивающим ребрам можно предотвратить, включив спи­сок пройденных вершин в состав маркера. Процесс р, получив маркер, в кото­рый вложен список L, не будет передавать маркер процессам из L. Переменнуюusedp[q] можно изъять, потому что если процесс р ранее уже передавал маркерпроцессу q, то q <Е L (см.

алгоритм 6.17).6.5. Прочие вопросыvar fatherp: процесс229in itu d e f;Только для инициатора, выполнить один раз:begin fatherp := р ; choose q € Neighp-,send (tlist, {p}) to qendДля каждого процесса после получения (tlist, L) от q0:begin if fatherp = udef then fatherp := qo ;if 3q € Neighp \ Lthen begin choose q € Neighp \ L ;send (tlist, L U {p }) to qendelse if p is initiatorthen decideelse send (tlist, L U { p } ) to fatherpendАлгоритм 6.17. Поиск в глубину с учетом сведений о соседях.Теорема 6.36. DFS-алгоритм с учетом сведений о соседях является ал­горитмом обхода, вычисляющим дерево обхода в глубину с использованием2N - 2 обменов сообщениями за 2N —2 единиц времени.Битовая сложность этого алгоритма велика: если w — это число битов, необ­ходимых для задания отличительного признака, то для списка L может потребо­ваться до Nw битов (см.

упражнение 6.14).6.5. Прочие вопросы6.5.1. Обзор волновых алгоритмовВ таблице 6.18 приведен список волновых алгоритмов, рассмотренных в этойглаве.В колонке, озаглавленной «номер», приведен тот номер алгоритма, которыйиспользуется для его обозначения в этой главе; в колонке, озаглавленной «Ц/Д»указано, является ли алгоритм централизованным (Ц) или децентрализованным(D); в колонке, помеченной «О», указано, является ли данный алгоритм алго­ритмом обхода; в колонке, озаглавленной «С», приведена сложность алгоритмапо числу обменов сообщениями; в колонке, озаглавленной «В», приведена слож­ность алгоритма по времени. Здесь N обозначает количество процессов, |£| —количество каналов, a D — диаметр сети (измеряемый по числу переходов).Сложность образования волны в сетях с наиболее распространенной тополо­гией существенно зависит от того, требуется ли, чтобы алгоритм был централи­зованным или децентрализованным.

В таблице 6.19 перечислены оценки сложно­сти по числу сообщений для централизованных и децентрализованных волновыхалгоритмов для колец, произвольных сетей и деревьев. Подобным же образом230Гл. 6.Алгоритм|| НомерТопология |Ц /Д |оL L Jпроизвольная д§6.6.4.

Алгоритмы поиска впроизвольная6.136.14произвольная6.15/6.16 произвольная6.17 произвольнаянетьц6.8§6.6 .3 . Алгоритмы обходаПоследовательного6.9кликацопросаТора6.10торцгиперкубГиперкуба6.11цТарри6.12произвольная цКлассическийАвербахаСидонас учетомсоседейСSection 6.6.2. Общие алгоритмыNNкольцоелц даN0(D)дерево6.2д нетпроизвольная ц нет т6.40(N)2клика6.5ц нет 2 N - 2произвольная д нет 2D\E\2D6.66.7кликад нет N( N- 1) 2V/КольцевойДревесныйЭхаОпросаФазовыйФазовыйна кликахФиннаВолновые алгоритмы и алгоритмы обхода0(D)да 2 N - 2 2 N - 2дададаNN2\Е\NN2\Е\глубину2\Е\2\Е\ц дац нет 4\Е\ iN —2ц нет 4\Е\ 2 N - 2ц да 2 N - 2 2 N - 2Примечание: фазовый алгоритм (6.6) и алгоритм Финна (6.8) пригодны для ориентиро­ванных сетей.Таблица 6.18.Волновые алгоритмы, рассмотренные в настоящей главеможно проанализировать зависимость сложности от других параметров, такихкак осведомленность о соседях или восприятие направления (см.

§Б.4.3).6.5.2. Вычисление суммКак было показано в §6.1.5, при помощи одиночной волны можно вычислятьточную нижнюю грань по входным данным всех процессов. Вычисление точнойнижней грани можно применять для выполнения коммутативных, ассоциативныхи идемпотентных операций над входными данными, наподобие вычисления мини­мума, максимума, и т.

п. (см. следствие 6.14). Однако большое число функций,наподобие суммирования, так вычислять нельзя, потому что они не идемпотентны.Суммирование можно применять для подсчета количества процессов, обладаю­щих определенными свойствами (полагая, что на вход подается 1 , если процессобладает нужным свойством, и 0 в противном случае), но результаты этого пара­графа можно также применять и для других операций, являющихся коммутатив­ными и ассоциативными, таких как произведение целых чисел или объединениемультимножеств.6.5. Прочие вопросыТопологияЦ /ДКольцоЦДПроизвольная ЦДеревоДЦДСложность231СсылкаN0(7Vlog,/V)алгоритм 6.1алгоритм 7.7алгоритм 6.4т0 ( N \ o g N + |£ |) раздел 7.5.32{N — 1)алгоритм 6.4O(N)алгоритм 6.2Таблица 6.19.

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

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

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

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