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



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

Запрос на вход в КС.


  • Если желающий войти в КС процесс Рi не владеет маркером, он увеличивает на единицу порядковый номер своих запросов RNi[i] и рассылает всем другим процессам сообщение REQUEST(i, n), где n – обновленное значение RNi[i].

  • Когда процесс Рj получает запрос REQUEST(i, n) от процесса Рi, он изменяет значение элемента массива RNj[i] = max(RNj[i], n). Если при этом Рj владеет маркером и находится

в состоянии выполнения вне КС, то Рj передает маркер процессу Рi при условии, что RNj[i] = LN[i] + 1.

  1. Вход в КС. Процесс Рi может войти в КС, если он обладает маркером.
  2. Выход из КС.


    • При выходе из КС процесс Рi обновляет в маркере значение элемента массива LN[i]: LN[i] = RNi[i].

    • Для каждого процесса Pj, идентификатор которого не присутствует в очереди Q, если RNi[j] = LN[j] + 1, то процесс Рi добавляет идентификатор Pj в конец очереди Q.

    • Если после выполнения представленных выше операций с очередью Q она оказывается не пустой, процесс Рi выбирает первый идентификатор из Q (при этом удаляя его из очереди) и передает маркер процессу с этим идентификатором.

Покажем, что алгоритм Сузуки-Касами обладает свойством живучести. Действительно, запрос процесса Рi на вход в КС за конечное время достигнет других процессов в системе. Один из этих процессов обладает маркером (или, в конце концов, получит его, если маркер находится в состоянии пересылки между процессами). Поэтому запрос процесса Рi рано или поздно будет помещен в очередь Q. Перед ним в очереди может оказаться не более (N – 1) запросов от других процессов, и, следовательно, в конце концов, запрос от Рi будет обслужен, и Рi получит маркер.
Пример работы алгоритма Сузуки-Касами приведен на рис. 4.9. В начальном состоянии системы маркером владеет процесс Р1, и все процессы находятся в состоянии выполнения вне КС. Также как и в сценарии, представленном в примерах выше, процессы Р2 и Р3 запрашивают вход в КС приблизительно в одно и то же время, как показано на рис. 4.9а. На рис. 4.9б в процесс Р1 первым поступает запрос от процесса Р2, поэтому маркер будет передан именно Р2. Обратим внимание, что если бы в Р1 первым поступил запрос от процесса Р3, то маркер был бы отправлен Р3. Такая зависимость порядка входа в КС от меняющихся задержек передачи сообщений отличает алгоритм Сузуки- Касами от алгоритмов Лэмпорта и Рикарта-Агравала, предоставляющих доступ к КС строго в соответствии с отметками времени запросов и независимо от задержек передачи сообщений. На рис. 4.9в процесс Р2 получает маркер от Р1 в виде сообщения TOKEN и входит в КС. Далее в нашем сценарии процесс Р1 переходит в состояние запроса на вход в КС и рассылает соответствующее сообщение остальным процессам.




(а)

(б)




(в)

(г)




(д)

(е)




(ж)

(з)

Рис. 4.9. Пример работы алгоритма Сузуки-Касами.


Запрос процесса Р1 достигает процессов Р2 и Р3, как показано на рис. 4.9г. После этого процесс Р2 выходит из КС и обновляет значение LN[2] и содержимое очереди Q. А именно, значение элемента LN[2] меняется на единицу, тем самым, указывая, что процесс Р2 уже выполнялся в своей КС с порядковым номером один, а в очередь Q добавляются идентификаторы процессов Р1 и Р3, ожидающих получения маркера. Важно отметить, что порядок добавления идентификаторов процессов в очередь Q и, как следствие, порядок обслуживания запросов на вход в КС, определяется порядком просмотра массива запросов RNi. В нашем примере процесс Р2 при выходе из КС просматривает RN2 с начала, поэтому идентификатор процесса Р1 будет помещен в очередь Q вперед идентификатора Р3 даже несмотря на то, что Р1 запросил доступ к КС после Р3. Если бы при выходе из КС процесс Pi просматривал массив RNi начиная с позиции i + 1 и до N, а затем с позиции 1 до i – 1, то для нашего примера процесс Р2 поместил бы идентификатор Р3 перед идентификатором Р1. На рис. 4.9д процесс Р2 передает маркер процессу, находящемуся во главе очереди Q, т.е. процессу Р1, и процесс Р1 входит в КС. Интересно отметить, что на рис. 4.9д процесс Р1 знает, что процесс Р3 ожидает маркер, хотя Р1 так и не получал запроса от Р3: сообщение с запросом на владение маркером от Р3 еще не поступило в Р1. Эта информация доступна Р1 из состояния очереди Q, которую он получил вместе с маркером, и в которую эти сведения были добавлены ранее процессом Р2. Поэтому при выходе из КС Р1 передаст маркер процессу Р3, т.к. в очереди Q содержится только идентификатор Р3. На рис. 4.9е и 4.9ж процесс Р3 наконец получит маркер и войдет в КС. При выходе из КС Р3 обновит значение LN[3] и сохранит маркер у себя, т.к. в системе нет необслуженных запросов, как показано на рис. 4.9з. В свою очередь запрос процесса Р3 с порядковым номером n = 1, который рано или поздно будет получен процессом Р1, будет рассматриваться как устаревший, т.к. RN1[3] = 1 и LN[3] = 1.
В заключение отметим, что если процесс не владеет маркером, то для входа в КС алгоритм Сузуки-Касами требует обмен N сообщениями: (N – 1) сообщений REQUEST плюс одно сообщение для передачи маркера. Если же процесс владеет маркером, то для входа в КС ему не потребуется ни одного сообщения.

      1. Download 3,3 Mb.

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