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

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

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

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

В каждом вычислении есть единственный инициатор, который запускаеталгоритм, отправляя одно-единственное сообщение.2. Всякий процесс после получения сообщения либо отправляет ровно односообщение, либо принимает решение.Как следует из первых двух свойств, в каждом конечном вычислении в точности один процесс принимает решение. Говорят, что алгоритм завершает работув том единственном процессе, который принимает решение.3. Алгоритм завершает работу в инициаторе, и к тому моменту, когда этопроисходит, каждому процессу хотя бы один раз удалось отправить сообщение.В каждой достижимой конфигурации алгоритма обхода есть либо в точности одно сообщение, находящееся на этапе пересылки, либо в точности одинпроцесс, который только что принял сообщение и еще не успел отправить ответное сообщение.

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

Алгоритм называется алгоритмом f-обхода (для некоторого класса сетей), если выполнены следующие условия:1) он является алгоритмом обхода (для указанного класса);2) в каждом вычислении после совершения f(x) переходов маркер побывалне менее чем у min(N, x + 1) процессов.var recp: integer init 0;(* только для инициатора*)Для инициатора:(* Записать Neighp = {q1 , q2 , . . . , qN−1 } *)begin while recp < #Neighp dobegin send tok to qrecp +1 ;receive tok; recp := recp + 1end;decideendДля неинициатора:begin receive tok from q ; send tok to q endАлгоритм 6.9. Алгоритм последовательного опроса216Гл. 6.Кольцевой алгоритм (алгоритм 6.1) является алгоритмом обхода, и, посколькупосле x переходов маркер побывал у x + 1 процессов и посетил все процессы поокончании N-го перехода, этот алгоритм является также алгоритмом x-обходадля кольцевых сетей.6.3.1.

Обход кликВсякую клику можно обойти, воспользовавшись последовательным опросом; этот алгоритм очень похож на алгоритм 6.5, однако соседи инициатора опрашиваются здесь поочередно, и как только поступает отклик от одного соседа,проводится опрос следующего (см. алгоритм 6.9).Теорема 6.26. Алгоритм последовательного опроса (алгоритм 6.9) —это алгоритм 2x-обхода для клик.Д о к а з а т е л ь с т в о. Легко видеть, что если алгоритм завершается в инициаторе, то каждому процессу удалось прислать отклик. Запросом к процессу q xслужит (2x − 1)-е сообщение, а откликом на него является 2x-е сообщение.

Следовательно, если произошел обмен 2x сообщениями, то посетить удалось x + 1процессов p, q1 , . . . , qx .6.3.2. Обход торовТорический граф граф размера n × n — это граф G = (V, E), у которогои6.3. Алгоритмы обходаВолновые алгоритмы и алгоритмы обходаV = Zn × Zn = { (i, j) : 0 6 i, j < n}E = { (i, j) (i0 , j0) : (i = i0 ∧ j = j0 ± 1) ∨ (i = i0 ± 1 ∧ j = j0) }(см. § Б.2.4). Сложение и вычитание здесь проводится по модулю n. Предполагается, что в торе имеется восприятие направления (см.

§ Б.4.3), т. е. в вершине(i, j) канал, соединяющий эту вершину с (i, j + 1), помечен Up, канал, ведущийв вершину (i, j − 1), помечен Down, канал, ведущий в вершину (i + 1, j), помеченRight, а канал, ведущий в вершину (i − 1, j), помечен Left. Пары координат (i, j)служат удобным средством задания топологии сети и ориентации, однако мы будем считать, что процессы не располагают сведениями об этих координатах; ихпредставление о топологии ограничено метками каналов.Тор является гамильтоновым графом, т. е. в торе произвольного размера существует гамильтонов цикл, и маркер перемещается по этому циклу, руководствуясьалгоритмом 6.10. После k-го перехода маркер отправляется вверх, если n|k (nявляется делителем k); в противном случае он отправляется направо.Теорема 6.27. Алгоритм тора (алгоритм 6.10) является алгоритмомx-обхода для тора.Д о к а з а т е л ь с т в о.

Как видно из описания алгоритма, решение принимается, как только маркер был передан n2 раз. Если маркер переместился от217Для инициатора, выполнить один раз:send hnum, 1i to UpДля каждого процесса после приема маркера hnum, ki:begin if k = n2 then decideelse if n|k then send hnum, k + 1i to Upelse send hnum, k + 1i to RightendАлгоритм 6.10.

Алгоритм обхода для торапроцесса p к процессу q, совершив U переходов Up и R переходов Right, тоp = q тогда и только тогда, когда (n|U ∧ n|R). Обозначим процесс-инициаторсимволом p0 , а процесс, получивший маркер hnum, ki, обозначим символом p k .Из общего числа n2 перемещений маркера n ходов были сделаны вверх,а остальные n2 − n ходов были сделаны направо. Поскольку оба числа n и n 2 − nделятся на n, получаем, что pn2 = p0 , и это означает, что алгоритм завершаетсяв инициаторе.Далее будет показано, что все процессы, начиная от p 0 и оканчивая pn2 −1 , попарно различны. А так как у нас всего n2 процессов, отсюда следует, что посетитьудалось каждый процесс.

Допустим, pa = pb для некоторых a, b, 0 6 a < b < n2 .На участке от pa до pb маркер совершил некоторое количество переходов Upи некоторое количество переходов Right, и, поскольку p a = pb , оба числа делятся на n. Обратившись к описанию алгоритма, можно заметить, что это влечет засобой два соотношения#{k : a 6 k < b ∧ n|k} кратно n и #{k : a 6 k < b ∧ n 6 |k} кратно n.Суммарный размер этих множеств равен b − a, откуда следует, что n| (b − a).Представим это отношение в виде (b − a) = ln. Тогда множество {k : a 6 k < b}содержит l чисел, делящихся на n.

Отсюда следует, что n|l, и поэтому n 2 | (b − a),что является противоречием. Так как все процессы, начиная с p 0 и оканчиваяpn2 −1 , попарно различны, маркеру после x переходов удается посетить x + 1процессов.6.3.3. Обход гиперкубовГраф G = (V, E), в которомV = { (b0 , . . . , bn−1) : bi = 0, 1}иE = { (b0 , . . . , bn−1), (c0 , . . . , cn−1) : наборы b и c отличаются в одном бите}называется n-мерным гиперкубом (см.

§ Б.2.5). Предполагается, что в гиперкубе имеется восприятие направления (см. § Б.4.3), т. е. канал между вершинами218Гл. 6.6.3. Алгоритмы обходаВолновые алгоритмы и алгоритмы обходаb и c, отличающимися в i-м бите, помечен «i» в обеих вершинах. Предполагается также, что процессы не располагают сведениями о пометках вершин; ихпредставление о топологии ограничено знанием меток каналов.Как и в случае тора, гиперкуб является гамильтоновым графом, и гамильтонов цикл можно обойти, воспользовавшись алгоритмом 6.11. Доказательствокорректности этого алгоритма почти такое же, как для алгоритма 6.10.R2. Неинициатор передает маркер своей родительской вершине (соседу, откоторого он впервые получил маркер) только в том случае, когда его невозможнопередать по другим каналам согласно правилу R1.var usedp [q] : boolfatherpДля инициатора выполнить один раз:send hnum, 1i по каналу n − 1 .Для каждого процесса после приема маркера hnum, ki:begin if k = 2n then decideelse begin let l — наибольшее такое число, что 2l |k ;send hnum, k + 1i по каналу lendendАлгоритм 6.11.

Алгоритм обхода для гиперкубаТеорема 6.28. Алгоритм гиперкуба (алгоритм 6.11) является алгоритмом x-обхода для гиперкуба.Д о к а з а т е л ь с т в о. Как видно из описания алгоритма, решение принимается после 2n переходов маркера. Обозначим символом p0 инициатор, и пустьpk будет обозначать процесс, к которому поступил маркер hnum, ki. Для всякого k < 2n наборы, обозначающие вершины pk и pk+1 , отличаются в одном бите,индекс которого обозначим l(k). Этот индекс удовлетворяет соотношению(n − 1,если k = 0,l(k) =наибольшее такое l, что 2l |k, если k > 0.Так как для каждого i < n существует четное число таких индексов k∈{0, .

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

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

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

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