Главная » Просмотр файлов » Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы)

Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы) (1162619), страница 79

Файл №1162619 Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы) (Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы)) 79 страницаЭ. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы) (1162619) страница 792019-09-20СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

И на­конец, подобно питанию шпинатом и изучению латыни в средней школе, некото­рые вещи выглядят очень хорошо, но только до тех пор, пока остаются теорией.5.5.3. Алгоритм маркерного кольцаАбсолютно иной подход к реализации взаимных исключений в распределенныхсистемах предлагает алгоритм маркерного кольца {Token Ring). Пусть мы имееммагистральную сеть (например, Ethernet), но без внутреннего упорядочения про­цессов (рис. 15.5, а). Программно создается логическое кольцо, в котором каждо­му процессу назначается положение в кольце, как показано на рис. 5.15, б.

Поло­жение в кольце может быть назначено по порядку следования сетевых адресовили как-то иначе. Неважно, как именно задана упорядоченность. Главное — какдать процессу знать, кто в кольце является следующим после него.Рис. 5.15. Беспорядочная группа процессов в сети (а).Логическое кольцо, созданное программно (б)304Глава 5. СинхронизацияПри инициализации кольца процесс О получает маркер, или токен {token).Маркер циркулирует по кольцу. Он передается от процесса k процессу k+ \ (этомодуль размера кольца) сквозными сообщениями.

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

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

Если маркер однажды потеря­ется, он должен быть восстановлен. На самом деле, понять, что он пропал, до­вольно сложно, поскольку срок между последовательными появлениями марке­ра в сети не ограничен. Тот факт, что маркера не было видно в течение часа,вовсе не означает, что он потерян, кто-нибудь просто может его использовать.Алгоритм также сталкивается с проблемами при сбоях процессов, однакосправиться с этим проще, чем в других случаях. Если мы потребуем от процесса,получающего маркер, подтверждать получение, неработающий процесс будет об­наружен при первой же попытке соседа передать ему маркер.

В этот момент не­работающий процесс можно удалить из группы, и хранитель маркера сможетперебросить маркер через его «голову» следующему члену кольца или, при необ­ходимости следующему за ним. Разумеется, это требует поддержания текущейконфигурации кольца.5.5.4. Сравнение трех алгоритмовМы сделаем краткое сравнение трех алгоритмов взаимных исключений, посколь­ку оно поучительно. В табл. 5.1 мы перечислили алгоритмы и три их ключевыхсвойства: число сообщений, необходимое процессу для того, чтобы войти в кри­тическую область или выйти из нее, возможная задержка перед входом (предпо­лагается, что сообщения передаются по сети последовательно) и некоторые про­блемы, связанные с описываемым алгоритмом.Централизованный алгоритм наиболее прост и наиболее эффективен.

На то,чтобы войти в критическую область, ему достаточно всего трех сообщений — за­прос, разрешение на вход и сообщение о выходе. Распределенному алгоритму(мы предполагаем, что используются только сквозные коммуникации) требуется5.6. Распределенные транзакции305для запроса п- 1 сообщений, по одному на каждый процесс, и дополнительно п- iсообщений на разрешение, всего 2(п -1).

В алгоритме маркерного кольца числосообщений различно. Если каждый из процессов будет постоянно требовать вхо­да в критическую область, каждая передача маркера станет результатом выходаиз критической области одного из процессов и в среднем на вход в критическуюобласть понадобится одно сообщение.

В другом крайнем случае маркер можетциркулировать по кольцу часами и им никто и не заинтересуется. В этом случаечисло сообщений на вход в критическую область одного процесса не ограничено.Таблица 5 . 1 . Сравнение трех алгоритмов взаимных исключенийАлгоритмЧисло сообщенийна вход-выходЗадержка передвходом в числесообщенийЦентрализованный32Крах координатораРаспределенный2(п-1)2(п~1)Сбой в одномиз процессовМаркерного кольцаО т 1 д о сюОтОдоп-1Потеря маркера, сбойв одном из процессовВозможные проблемыЗадержка с момента, когда процессу понадобилось войти в критическую об­ласть, до момента входа для этих трех алгоритмов также различна. Если критичес­кие области малы и используются редко, основным фактором задержки являетсямеханизм входа в критическую область.

Если критические области и использу­ются постоянно, основным фактором задержки является ожидание своего хода.В таблице иллюстрируется первый случай. В случае централизованного алгорит­ма, для того чтобы войти в критическую область, требуется всего два сообщения.В случае распределенного алгоритма требуется 2(п - 1) сообщений, с учетом то­го, что они посылаются одно за другим. Для маркерного кольца время варьиру­ется от О (маркер у процесса, входящего в критическую область) до w - 1 (маркербыл только что передан дальше по кольцу).И, наконец, все три алгоритма тяжело реагируют на сбои.

Чтобы сбой не при­вел к полному краху системы, приходится предпринимать специальные меры идополнительно усложнять алгоритм. Забавно, но распределенные алгоритмы бо­лее чувствительны к сбоям, чем централизованный. В защищенных от сбоя сис­темах неприменим ни один из них, но если сбои нечасты, они будут работать.5.6.

Распределенные транзакцииКонцепция транзакций тесно связана с концепцией взаимных исключений. Алго­ритмы взаимного исключения обеспечивают одновременный доступ не более чемодного процесса к совместно используемым ресурсам, таким как файл, принтери т. п. Транзакции, в общем, также защищают общие ресурсы от одновременногодоступа нескольких параллельных процессов. Однако транзакции могут и многоедругое. В частности, они превращают процессы доступа и модификации множе-306Глава 5.

Синхронизацияства элементов данных в одну атомарную операцию. Если процесс во время тран­закции решает остановиться на полпути и повернуть назад, все данные восста­навливаются с теми значениями и в том состоянии, в котором они были до нача­ла транзакции. В этом разделе мы поближе ознакомимся с понятием транзакции,и в частности сосредоточимся на возможностях транзакций по синхронизациинескольких процессов при защите совместно используемых данных.5 . 6 .

1 . Модель транзакцийБазовая модель транзакций пришла к нам из делового мира. Допустим, некой ме­ждународной корпорации потребовалась партия каких-то штуковин. Они обра­щаются к потенциальному поставидику, ООО «Штуковины», хорошо известномуво всем мире качеством своих штуковин, с заказом на 100 000 10-сантиметровыхпурпурных штуковин с поставкой в июне.

ООО «Штуковины» предлагает100 000 4-дюймовых розовых штуковин с поставкой в декабре. Некая междуна­родная корпорация согласна с ценой, но не любит розовый цвет, хочет получитзаказ в июле и настаивает на 10-сантиметровых штуковинах для своих зарубеж­ных заказчиков. ООО «Штуковины» отвечают предложением 3 15/16-дюймовыхлавандовых штуковин в октябре. После дальнейших переговоров они сходятся,наконец, на 3 959/1024-дюймовых фиолетовых штуковинах, которые будут по­ставлены к 15 августа.До этого самого момента обе стороны имели полную возможность прекратитьобсуждение, после чего мир вернулся бы к тому же состоянию, в котором он пре­бывал до начала переговоров. Однако после того, как обе компании подписаликонтракт, они связали себя обязательством выполнить сделку.

Таким образом,пока обе стороны шли к этому Рубикону, любая из них могла дать отбой, и ниче­го бы не произошло, но в момент появления подписей они перешли ту черту, изза которой нет возврата. После этого транзакция должна быть выполнена.Компьютерная модель выглядит очень похоже. Один процесс объявляет, чтохочет начать транзакцию с одним или несколькими другими процессами. Послеэтого они могут согласовывать различные условия, создавать и удалять сущно­сти, выполнять операции. Затем инициатор объявляет, что он предлагает всемостальным подтвердить, что работа сделана. Если все это подтверждают, результа­ты утверждаются и становятся постоянными. Если один или несколько процес­сов отказываются (или до соглашения в них возникают сбои), ситуация возвра­щается к тому состоянию, которое имело место до начала транзакции, со всемивытекающими отсюда последствиями для файлов, баз данных и т.

д., все измене­ния в которых волшебным образом исчезают. Такое свойство «все или ничего»сильно упрощает работу программистам.Использование транзакций в компьютерных системах берет начало в шести­десятых годах. До этого дисков и сетевых баз данных не существовало, все дан­ные хранились на магнитных лентах. Представьте себе супермаркет с автомати­зированной системой инвентаризации. Каждый день после закрытия компьютерначинал работу с двумя магнитными лентами.

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

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

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