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

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

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

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

Алгоритм Корача–Каттена–МоранаМы будем рассматривать алгоритм 7.13. Чтобы привести маркеры одногои того же уровня совместно в один процесс, каждому маркеру предписывается один из трех режимов: захват, погоня или ожидание. Всякий маркер будемпредставлять в виде пары (q, l), где q — это инициатор данного маркера, а l — этоего уровень. Переменная levp будет обозначать уровень, на котором пребываетпроцесс p, а переменная catp представляет инициатора того последнего маркера,который был захвачен процессом p, но уцелел и был переправлен эти процессомдалее (это и есть текущий активный обход процесса p). Переменная wait pпринимает значение udef, если ни один из маркеров не пребывает в режимеожидания в процессе p, и значение этой переменной равно q, если некоторыймаркер (q, levp) пребывает в режиме ожидания в процессе p.

Переменная last p7.4. Алгоритм Корача—Каттена—Морана275предназначена для маркеров, пребывающих в режиме погони: она указывает натого соседа, которому процесс p переправил захваченный им маркер уровня lev p ,если только догоняющий маркер уже не был отправлен вслед за ним в погоню;в таком случае lastp = udef. Наш алгоритм взаимодействует с алгоритмом обхода за счет обращения к функции trav: эта функция либо указывает того соседа,которому нужно переправить маркер, либо заявляет о принятии решения, еслиданный обход завершился.Маркер (q, l) инициируется в режиме захвата, и в этом режиме он подчиняется алгоритму обхода (как и в случае IV для алгоритма 7.13), до тех пор покане сложится одна из следующих ситуаций.1. Алгоритм обхода завершен, и в таком случае процесс q становится лидером (см.

вариант IV в описании алгоритма 7.13).2. Маркер достиг такого узла p, для которого выполняется неравенство lev p >> l; в этом случае наш маркер подавляется. (Этот вариант подразумевается в алгоритме 7.13; все условия в этом алгоритме требуют выполнения соотношенияl > levp или l = levp).3. Маркер достиг такого узла, в котором его уже ожидает другой маркеруровня l; тогда оба маркера подавляются, и из этого узла начинается новыйобход (см. вариант II в описании алгоритма 7.13).4.

Маркер достиг узла уровня l, который посетил последним некоторый маркер с отличительным признаком catp > q (см. вариант VI) или маркер в режимепогони (см. вариант III); тогда наш маркер переходит в режим ожидания и остается в этом узле.5. Маркер достиг узла уровня l, в котором в последний раз побывал некоторый маркер в режиме захвата с отличительным признаком cat p < q; тогданаш маркер переходит в режим погони и переправляется по тому же каналу, покоторому был отправлен предыдущий маркер (см. вариант V).Маркер (q, l) в режиме погони переправляется в каждом узле по тому каналу,по которому был отправлен самый последний из посетивших этот узел маркеров,если только не складывается одна из следующих ситуаций.1.

Маркер достиг процесса уровня levp > l; тогда наш маркер подавляется.2. Маркер достиг процесса, в котором хранится маркер уровня l, пребывающий в режиме ожидания; тогда оба маркера изымаются и в этом процессеначинается новый обход (см. вариант II).3. Маркер достиг процесса уровня l, и при этом последний из посетившихэтот процесс маркеров пребывал в режиме погони; тогда наш маркер переходитв режим ожидания (см.

вариант III).Маркер в режиме ожидания остается в том процессе, которого он достиг, до техпор пока не сложится одна из следующих ситуаций.1. Маркер более высокого уровня достигнет того же самого процесса; тогдаожидающий маркер будет подавлен (см. вариант I).2. Маркер того же самого уровня достиг того же самого процесса; тогда обамаркера изымаются, и в данном процессе начинается новый обход более высокогоуровня (см. вариант II).276Гл. 7.

Алгоритмы избрания лидераВ алгоритме 7.13 все переменные и переносимые маркерами данные, касающиесяалгоритма обхода, не принимались во внимание. Отметим, что если процесс pполучает маркер, уровень которого превосходит lev p , то этот маркер пребываетв режиме захвата и его инициатором является процесс, отличный от p. Если жеобход завершается в узле p, то p становится лидером и отправляет сообщениявсем процессам, призывая их прекратить работу.Корректность и сложность. Для доказательства корректности алгоритмаКорача—Каттена—Морана будет показано, что число маркеров, порожденныхна каждом уровне, сокращается, до тех пор пока на некотором уровне не будетвыпущен только один маркер, инициатор которого и становится лидером.Лемма 7.22. Если на уровне l было порождено k > 1 маркеров, то науровне l + 1 будет порождено не менее одного и не более k/2 маркеров.Д о к а з а т е л ь с т в о.

Поскольку при порождении одного маркера уровня l + 1 подавляются два маркера уровня l, всего на уровне l + 1 может бытьвыпущено не более k/2 маркеров.Предположим, что найдется такой уровень l, что на уровне l было порожденоk > 1 маркеров, а на уровне l + 1 ни одного. Обозначим символом q процессс наибольшим отличительным признаком, который породил маркер на уровне l.Маркер (q, l) не завершает обход, так как он достигает некоторого процесса p,который уже отправил другой маркер уровня l.

Когда это произойдет впервые,маркер (q, l) станет преследователем или, если процесс p уже отправил какой-топреследующий маркер, перейдет в режим ожидания. В любом случае это означает, что в сети есть преследующий маркер уровня l.Рассмотрим маркер (r, l) с наименьшим отличительным признаком, за которым был отправлен в погоню один из преследующих маркеров. Сам маркер (r, l)не может быть преследователем, поскольку преследователи гонятся за маркерами с меньшим отличительным признаком. Поэтому мы можем предполагать, чтомаркер (r, l) переходит в режим ожидания, как только он достигнет процесса p 0 ,который уже отправил какой-либо другой маркер уровня l.

Пусть p00 — последний из процессов на пути, по которому следует маркер (r, l), причем этот процессполучил после отправления (r, l) маркер, пребывавший в режиме захвата, который перешел затем в разряд преследователей маркера r. Этот преследующиймаркер либо настигнет маркер (r, l) в узле p0 , либо прервет погоню, если обнаружит какой-нибудь маркер, пребывающий в режиме ожидания, ранее чем будетдостигнут узел p0 .

В обоих случаях, вопреки предположению, будет выработанмаркер уровня l + 1.Теорема 7.23. Алгоритм Корача—Каттена—Морана (алгоритм 7.13)является алгоритмом избрания лидера.Д о к а з а т е л ь с т в о. Допустим, что хотя бы один процесс запустил этоталгоритм.

Согласно предыдущей лемме число маркеров, порожденных на каждом уровне, уменьшается, и поэтому найдется уровень, например уровень l, накотором будет порожден всего лишь один маркер, скажем (q, l). Ни один из мар-7.4. Алгоритм Корача—Каттена—Морана277керов уровня l0 < l не завершил обход, и поэтому ни один из них не привел ктому, что некоторый процесс был избран лидером. Единственный маркер уровняl сталкивается только с такими процессами, уровень которых уступает l или длякоторых выполняется равенство cat = q (если этот маркер достигает процесса,который он уже посетил ранее). В обоих случаях процессы переправляют егодалее.

Следовательно, обход завершится, и процесс q будет избран лидером.Функцию f назовем выпуклой, если выполняется неравенство f(a) + f(b) 66 f(a + b). Мы оценим здесь сложность нашего алгоритма исходя из предположения, что в его основу положен алгоритм f(x) -обхода (см. § 6.6.3), где f —выпуклая функция.Теорема 7.24. Если использовать произвольный алгоритм f(x)-обхода,где f — выпуклая функция, то алгоритм избрания лидера Корача—Каттена—Морана, будучи запущен k процессами-инициаторами, решит задачуо выборах, ограничившись (1 + log k) [f(N) + N] обменами сообщениями.Д о к а з а т е л ь с т в о. Если алгоритм был запущен k процессами, то науровне l может быть порождено не более 2−l k маркеров, откуда следует, чтонаивысший уровень, который может быть достигнут, не превосходит величиныblog kc.На любом уровне каждый процесс отправляет маркер в режиме захвата самое большее с одним отличительным признаком.

Если на некотором уровне lесть маркеры с отличительными признаками p1 , . . . , pj и имеется Ni процессов,отправивших маркеры (pi , l), пребывающие в режиме захвата, то справедливоjPнеравенствоNi 6 N. Так как используемый алгоритм обхода — это алгоритмi=1f(x)-обхода, маркеры (pi , l), остающиеся в режиме захвата, были переправленыне более f(Ni) раз, и поэтому общее число обменов сообщениями, сопряженныхс передачей маркеров уровня l, пребывающих в режиме захвата, не превосходитjPf(Ni), которая, в свою очередь, не превышает f(N), ибо функция fвеличиныi=1выпуклая. На любом уровне каждый процесс отправляет не более одного догоняющего маркера, и, следовательно, общее количество догоняющих маркеров накаждом уровне не превосходит N.Итак, мы имеем не более (1 + log k) различных уровней, на каждом из которыхсовершается самое большее f(N) + N обменов сообщениями.

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

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

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

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