Введение в распределенные



Download 3,3 Mb.
bet35/74
Sana13.07.2022
Hajmi3,3 Mb.
#785639
1   ...   31   32   33   34   35   36   37   38   ...   74
Bog'liq
Косяков ТАТ книга

Полностью упорядоченная групповая рассылка. Обратимся теперь к рассмотренной в п. 1.5.3 задаче полного упорядочивания сообщений групповой рассылки. Пусть существует группа процессов, рассылающих друг другу широковещательные сообщения, которые требуется доставить всем процессам данной группы, включая отправителей этих сообщений, причем в порядке, одинаковом для всех процессов. Каждую такую рассылку будем рассматривать как одно атомарное событие соответствующего процесса, и будем считать, что все каналы обладают свойством FIFO.
Чтобы обеспечить единый для всех процессов порядок доставки широковещательных сообщений можно воспользоваться механизмом скалярных часов Лэмпорта, позволяющим задать линейный порядок на множестве событий рассылки этих сообщений. В этом случае останется лишь убедиться, что каждый процесс имеет необходимую информацию о событиях рассылки, происходящих в других процессах. Для этого каждый процесс локально поддерживает очередь, в которую помещает все принимаемые широковещательные сообщения и упорядочивает их по возрастанию значений отметок времени, содержащихся в этих сообщениях. Затем сообщения доставляются одно за другим по порядку из очереди каждого процесса. Здесь под отметкой времени сообщения m будем подразумевать упорядоченную пару (L(m), i), где L(m) – логическое время события рассылки этого сообщения, i – идентификатор процесса- отправителя. Линейный порядок таких отметок времени будет определяться правилом, введенным в п. 3.2.1.
Следует обратить внимание, что из-за задержек передачи сообщений, возможна ситуация, когда в начале очередей двух различных процессов будут находиться разные сообщения от разных отправителей. Эта ситуация проиллюстрирована на рис. 3.4. Локальная очередь каждого процесса изображена прямоугольником рядом с его временной осью. Видно, что имеется некоторый временной интервал, в течение которого сообщение m1 уже получено процессами P1 и Р2, а сообщение m2 – процессами Р3 и P4, но оба сообщения еще не дошли до остальных процессов данной группы. В течение этого временного интервала процессы Р1 и Р2 считают, что первым в очереди является сообщение m1, а процессы Р3 и Р4 считают, что первым является сообщение m2. При этом процессам, уже получившим широковещательное сообщение, не ведомо, направлено ли им еще какое-либо сообщение, и стоит ли ждать его прихода. Поэтому прежде чем процесс примет решение о доставке сообщения m, стоящего в начале его собственной очереди, он должен получить гарантии, что в каналах не осталось ни одного сообщения с отметкой времени меньшей, чем отметка времени сообщения m. Благодаря свойству FIFO каналов связи это условие будет выполнено, когда процесс получит сообщения от всех остальных процессов в группе с отметками времени большими, чем отметка времени сообщения m. Для этого при получении широковещательного сообщения каждый процесс должен разослать всем процессам соответствующее подтверждение. Очевидно, отметка времени подтверждения будет больше, чем отметка времени самого сообщения, на которое это подтверждение высылается. Поэтому рано или поздно каждый процесс сможет получить от всех остальных процессов сообщения с отметками времени большими, чем отметка времени сообщения m, и, следовательно, доставить m и приступить к его обработке.



Рис. 3.4. Пример формирования очередей в процессах.


Следует еще раз обратить внимание, что подтверждения используются исключительно для информирования процессов о том, что в каналах не осталось ни одного сообщения, которое может потеснить сообщение m в их очередях и занять первое место. Поэтому при приеме широковещательного сообщения процесс может не отправлять соответствующее подтверждение, если к этому моменту он уже разослал свое собственное широковещательное сообщение с отметкой времени большей, чем отметка времени принимаемого сообщения.


Таким образом, механизм работы скалярных часов Лэмпорта гарантирует, что никакие два сообщения не будут иметь одинаковые отметки времени. При этом линейный порядок отметок времени будет определять общий порядок доставки сообщений групповой рассылки.

    1. Download 3,3 Mb.

      Do'stlaringiz bilan baham:
1   ...   31   32   33   34   35   36   37   38   ...   74




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish