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


Широковещательный алгоритм Сузуки-Касами



Download 3,3 Mb.
bet65/74
Sana13.07.2022
Hajmi3,3 Mb.
#785639
1   ...   61   62   63   64   65   66   67   68   ...   74
Bog'liq
Косяков ТАТ книга

Широковещательный алгоритм Сузуки-Касами


Одним из решений, позволяющих каждому запросу на владение маркером гарантированно достичь процесса, в котором находится маркер, является широковещательная рассылка таких запросов всем процессам распределенной системы. Данный алгоритм был предложен И. Сузуки и Т. Касами, и суть его заключается в следующем. Если процесс, не обладающий маркером, собирается войти в КС, он рассылает всем другим процессам сообщение REQUEST с запросом на владение маркера. При получении сообщения REQUEST процесс, владеющий маркером, пересылает его запрашивающему процессу. Если в момент получения сообщения REQUEST процесс, владеющий маркером, выполняется внутри КС, он откладывает передачу маркера до тех пор, пока не выйдет из нее. Отметим, что для работы алгоритма Сузуки-Касами не требуется, чтобы каналы связи обладали свойством FIFO.
Несмотря на кажущуюся простоту описанной схемы взаимодействия, представленный алгоритм передачи маркера должен эффективно справляться с решением двух связанных между собой задач.

  1. Необходимо различать устаревшие запросы на получение маркера от текущих, еще необслуженных запросов. Действительно, запрос на владение маркером получают все процессы, однако, удовлетворить этот запрос может только один процесс, владеющий маркером. В результате, после того как запрос будет обслужен, у остальных процессов будут находиться устаревшие запросы, в ответ на которые не нужно передавать маркер. Более того, из-за различных и меняющихся задержек передачи сообщений, процесс может получить запрос уже после того, как этот запрос был удовлетворен, т.е. после того, как процесс, рассылавший этот запрос, уже получал маркер в свое владение. В случае, если процесс не имеет возможности определить, был ли находящийся у него запрос уже обслужен или нет, он может передать маркер процессу, который на самом деле в нем не нуждается. Это не приведет к нарушению корректности работы алгоритма взаимного исключения, но может серьезно сказаться на производительности системы.

  2. Необходимо вести перечень процессов, ожидающих получения маркера. После завершения процессом своего выполнения внутри КС, он должен определить список процессов, находящихся в состоянии запроса на вход в КС, для того, чтобы передать маркер одному из них.

Для решения этих задач в алгоритме Сузуки-Касами каждый процесс использует порядковые номера (англ. sequence numbers) запросов на вход в КС. Порядковый номер n (n = 1, 2, …) увеличивается процессом Pi независимо от других процессов каждый раз, когда Pi формирует новый запрос на вход в КС. Порядковый номер запроса Pi передается в рассылаемом сообщении REQUEST в виде REQUEST(i, n). Кроме того, каждый процесс Pi поддерживает работу с массивом RNi[1..N] (от англ. request number), где в элементе RNi[j] содержится наибольшее значение порядкового номера запроса, полученного от процесса Pj. Другими словами, при получении сообщения REQUEST(j, n) процесс Pi изменяет значение j-го элемента своего массива RNi согласно выражению RNi[j] = max(RNi[j], n).
Сам маркер переносит внутри себя очередь Q идентификаторов процессов, находящихся в состоянии запроса на вход в КС, и массив LN[1..N] (от англ. last number), в элементе LN[i] которого содержится порядковый номер КС, в которой в последний раз выполнялся процесс Pi. Чтобы поддерживать элементы массива LN[1..N] в актуальном состоянии, при выходе из КС процесс Pi обновляет элемент LN[i] = RNi[i], тем самым указывая, что его запрос с порядковым номером RNi[i] был удовлетворен. Если все процессы будут следовать этому правилу, то находящийся у Pi запрос процесса Pj с порядковым номером RNi[j] будет устаревшим, если RNi[j] ≤ LN[j]. Если же RNi[j] = LN[j] + 1, то это значит, что процесс Pj ожидает получения маркера, и запрос Pj с порядковым номером RNi[j] еще не был обслужен. В этом случае процесс Pi, владея маркером, помещает идентификатор процесса Pj в конец очереди Q при условии, что идентификатор Pj еще не присутствует в Q. После этого Pi передает маркер процессу, идентификатор которого является первым в очереди Q.
Таким образом, алгоритм Сузуки-Касами будет определяться следующими правилами.

  1. Download 3,3 Mb.

    Do'stlaringiz bilan baham:
1   ...   61   62   63   64   65   66   67   68   ...   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