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

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

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

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

Выполнение, диаграмма которого изображена нарис. 2.1, содержит конфигурацию , в которой оба сообщения, отправленныепри осуществлении событий e и l, пребывают на этапе пересылки одновременно.А выполнение, диаграмма которого изображена на рис.

2.2, не содержит ни од-72Гл. 2. Модельp1p2p3p4F̄a.r..B..B. Bf. BN.r. .. .. .. ... .. .. .. .. ..r .ra fg.r..........rgh.r. j.J. J. ^..r. .. .. .. .. ..r .rh jb.r.Z.d. ZZ.r. ~......... k ... .r .. . .. . .. . .. .. . .. . ..r .r .rb k di.r..l.r ... .. .. .. ... ..r .rl i2.3. Причинно-следственный порядок событий и логические часыc.r..e.r ... .. .. ..

.. .. .. .. .. .. .. .. ..r .re cРис. 2.2. Пространственно-временная диаграмма, эквивалентная диаграмме,изображенной на рис. 2.1.ной такой конфигурации, поскольку сообщение, отправленное при осуществлениисобытия l, достигает адресата раньше, чем происходит событие e.Сторонний наблюдатель, который имеет возможность видеть подлинную последовательность событий, способен отличить одно эквивалентное выполнениеот другого, т. е. он всякий раз видит только одно из возможных выполнений. Однако процессы не могут отличить два эквивалентных выполнения, так как с точкизрения процессов невозможно понять, какое из двух эквивалентных выполненийпроисходит на самом деле.

Это можно объяснить на следующем примере. Предположим, что нужно выяснить, действительно ли сообщения, отправленные приосуществлении событий e и l, пребывают на этапе пересылки одновременно. Заведем в одном из процессов булеву переменную sim, значение которой положимравным true, если сообщения пребывают на этапе пересылки одновременно, иравным false в противном случае. Тогда в последней конфигурации выполнения,изображенного на рис.

2.1, значение переменной sim должно быть равно true,а в последней конфигурации выполнения, изображенного на рис. 2.2, значениепеременной sim должно быть равно false. Но по теореме 2.21 эти конфигурации должны быть эквивалентны, и поэтому ожидаемого присваивания значенийпеременной sim достичь невозможно.Класс эквивалентности выполнений по отношению эквивалентности ∼ однозначно определяется множеством событий и действующим на нем причинноследственным порядком; эти классы эквивалентности называются вычислениямиалгоритма.Определение 2.22. Вычислением распределенного алгоритма называетсякласс эквивалентности выполнений алгоритма по отношению эквивалентности ∼.Нет смысла говорить о конфигурациях вычисления, потому что различныевыполнения одного и того же вычисления могут иметь разные конфигурации. Нопри этом имеет смысл говорить о совокупности событий вычисления, так как вовсех выполнениях одного и того вычисления происходят одни и те же события.Причинно-следственный порядок на множестве событий также однозначно опре-73деляется вычислением.

Мы будем называть вычисление конечным, если конечныего выполнения. Все выполнения одного и того же вычисления начинаются изодной и той же конфигурации и завершаются, если вычисление конечно, в однойи той же конфигурации (см. теорему 2.21); эти конфигурации называются начальной и заключительной конфигурациями вычисления. Мы будем отождествлятьвычисление с частично упорядоченным множеством событий, которые происходят в нем.Как следует из теории частично упорядоченных множеств, два параллельныхсобытия одного и того же вычисления могут происходить в произвольном порядке.Утверждение 2.23. Пусть (X, <) — частично упорядоченное множество и для двух элементов a, b ∈ X выполняется соотношение b 6< a. Тогдасуществует такая линеаризация < l частичного порядка <, для которойвыполняется соотношение a < l b.Это означает, что если a и b — параллельные события вычисления C, то существуют два таких выполнения Ea и Eb этого вычисления, в одном из которыхсобытие a происходит раньше события b, а в другом, наоборот, событие b происходит раньше события a.

Процессам же по ходу выполнения неведомо, какоеиз этих двух событий происходит первым.Синхронный обмен сообщениями. Модифицированный вариант теоремы 2.19можно сформулировать и для систем с синхронным обменом сообщениями. Какутверждается в этой теореме, в таких системах два последовательно произошедших события будут независимыми, если они затрагивают разные процессы.Теорема 2.24. Предположим, что — конфигурация распределеннойсистемы с синхронным обменом сообщениями, и пусть e1 — синхронныйпереход в процессах p и q, а e2 — синхронный переход в процессах r и s,отличных от p и q, и при этом оба события e1 и e2 допустимы в конфигурации .

Тогда переход e1 допустим в конфигурации e2 ( ), переход e2допустим в конфигурации e1 ( ) и при этом e1 (e2 ( )) = e2 (e1 ( )).Доказательство этой теоремы, в котором можно использовать те же рассуждения, что в доказательстве теоремы 2.19, оставлено читателям в качествеупражнения (см. упражнение 2.9). Понятие причинно-следственной зависимостив синхронных системах можно определить подобно тому, как это было сделанов определении 2.20; заинтересованные читатели могут обратиться к работе [48] .Теорема, аналогичная теореме 2.21, будет также справедлива для синхронныхсистем.Выполнения и вычисления. По ходу изложения мы вначале ввели понятие выполнения как пути в системе переходов и лишь затем ввели понятие вычисления как класса эквивалентности на множестве выполнений.

Такой порядок расположения материала соответствует операционной точке зрения на функционирование распределенных систем. Во многих других работах предпочтениеотдается более формальному подходу, при котором вначале определяется поня-Гл. 2. Модельvarp: integerinit 0 ;(* Внутреннее событие *)p := p + 1 ;Изменение состояния(* Событие отправления сообщения *)p := p + 1 ;send (messg, p) ; Изменение состояния(* Событие приема сообщения *)receive (messg, ) ; p := max( p , ) + 1 ;Изменение состоянияАлгоритм 2.3. Логические часы ЛампортаДалее мы рассмотрим и обсудим некоторые примеры таких часов.1.

Последовательное упорядочение. Для выполнения E, представленногов виде последовательности событий (e0 , e1 , e2 , . . .), положим Θg (ei) = i. Такимобразом, каждое событие помечается порядковым номером, которое оно имеетв этой последовательности.Такой функцией может воспользоваться сторонний наблюдатель системы, который может наблюдать последовательность происходящих событий. Однако этупоследовательность нельзя наблюдать, пребывая внутри системы; иначе говоря, распределенный алгоритм не способен вычислять функцию Θ g .

Это следуетиз теоремы 2.19. Предположим, что какой-то распределенный алгоритм записывает значение Θg (ei) = i для одного из тех событий ei , которые фигурируютв предпосылке теоремы. Рассмотрим теперь эквивалентное выполнение, в котором изменен порядок осуществления двух событий; хотя значение функции Θ gизменилось, процесс будет записывать то же самое значение i. Иными словами,функция Θg определена на множестве выполнений, а не вычислений.2. Часы реального времени. Можно расширить модель, рассматриваемуюнами в этой главе, снабдив каждый ее процесс встроенным часовым механизмом.Итак, для каждого события можно зафиксировать время его осуществления, ивычисляемые таким образом значения удовлетворяют определению часов.Распределенные системы с часами реального времени не подпадают под определение 2.6, потому что физические свойства часов позволяют синхронизироватьизменения состояний в разных процессах.

Течение времени происходит во всехпроцессах, и это приводит к тому, что возникают переходы, которые изменяютсостояния (а именно показания часов) во всех процессах системы. Оказывается,эти «глобальные переходы» решительным образом изменяют всю модель: еслипредполагать наличие часов реального времени, то теорема 2.19 перестает бытьa ≺ b =⇒ Θ (a) < Θ (b).Действительно, если a ≺ b, то эту последовательность можно продолжить так,чтобы выполнялось соотношение ΘL (a) < ΘL (b). Значение ΘL для каждого события может быть вычислено распределенным алгоритмом по следующим правилам:а) если a — это внутреннее событие процесса или событие отправления сообщения, и a0 — это предшествующее событие в том же самом процессе,то ΘL (a) = ΘL (a0) + 1;б) если a — событие приема сообщения, a0 — предшествующее событие в томже самом процессе, и b — событие отправления сообщения, соответствующее a, то ΘL (a) = max(ΘL (a0), ΘL (b) ) + 1.Значение ΘL (a0) полагается равным 0, если a — первое событие в процессе.Чтобы распределенный алгоритм мог вычислять показания часов, часовая отметка последнего события, произошедшего в процессе p, записывается в переменную p (ее начальное значение равно 0).

Чтобы вычислить часовую отметкусобытия приема, каждое сообщение m снабжается часовой отметкой m событияотправления этого сообщения e. Показания логических часов Лампорта вычисляются алгоритмом 2.3. Для события e в процессе p значение Θ L (e) равно величинеp сразу после осуществления события e, т. е.

в тот момент, когда происходит изменение состояния в процессе. В качестве упражнения читателям предлагаетсядоказать, что введенная таким образом функция Θ L удовлетворяет определениючасов.Определение 2.25. Часами назовем всякую функцию Θ, отображающуюмножество событий в некоторое упорядоченное множество так, что при этом выполняется соотношениеe1 ≺ e2 ≺ .

. . ≺ ek = a.Мы можем снабдить распределенные системы часами, при помощи которыхможно «отсчитывать» причинно-следственную зависимость, подобно тому какфизические часы отсчитывают реальное время. В этом параграфе букву Θ будем использовать для обозначения функции, отображающей множество событийв некоторое упорядоченное множество (X, <).2.3.3. Логические часы75справедливой. Однако распределенные системы с часами реального времени имеют практическое применение, и мы исследуем их в нашей книге в § 3.3.2 и в гл. 12и 15.3. Логические часы Лампорта. Лампорт в работе [124] предложил использовать часовую функцию, которая приписывает событию a число k, равное длинесамой протяженной последовательности событий (e 1 , . . .

, ek), удовлетворяющейусловиютие вычисления как частично упорядоченного множества событий и лишь затемвводится понятие выполнения как линеаризации этого частично упорядоченного множества. Такому подходу следуют, например, Чаррон-Бост и др. в работе[48] , а также разработчики стандартного языка спецификаций Message SequenceCharts в работе [164] . Эти два подхода совершенно равноправны.2.3. Причинно-следственный порядок событий и логические часы7476Гл. 2. Модель2.4. Дополнительные допущения. СложностьВ алгоритме не оговорены условия отправления сообщения или изменения состояния процесса. Эти часы играют роль вспомогательного механизма, которымможет быть снабжен любой распределенный алгоритм, для того чтобы оцениватьпорядок осуществления событий.4.

Векторные часы. Иногда бывает удобно иметь часы, при помощи которых можно отмечать не только причинно-следственный порядок (как того требуетопределение 2.25), но также и параллелизм. Параллелизм можно зафиксировать,если часовые пометки параллельных событий оказываются несравнимыми; этопроисходит, если в определении 2.25 место импликации занимает эквивалентность и возникает соотношениеa ≺ b ⇐⇒ Θ (a) < Θ (b).(2.1)Существование параллельных событий возможно только тогда, когда областьюзначений X функции часов является множество, которое упорядоченно частично,но не линейно.В векторных часах Маттерна [144] X = NN , т. е.

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

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

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

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