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

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

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

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

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

Точность алгоритмов син­хронизации в значительной мере определяют вариации в задержках доступа испособы учета этих вариаций.Во многих случаях знания абсолютного времени не требуется. Достаточно,чтобы соответствующие события в различных процессах происходили в пра­вильной последовательности. Лампорт показал, что, введя понятие логическихчасов, можно заставить набор процессов соблюдать общее соглашение относи­тельно правильной очередности событий. В сущности, каждое событие е, такоекак посылка или прием сообщения, получает абсолютно уникальную логичес­кую отметку времени С{е), такую, что если событие а происходит раньше 6, тоС{а) < С(Ь).

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

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

Эти алгоритмы гарантируют, что в распределенном наборе процессовдоступ к совместно используемым ресурсам имеет максимум один процесс. Рас­пределенные взаимные исключения можно легко обеспечить с помощью координа­тора, который будет следить, чья сейчас очередь. Существуют также и полностьюраспределенные алгоритмы, но их минус — чересчур большая чувствительностьк сбоям процессов и связи.5.7. Итоги325С взаимными исключениями тесно связаны распределенные транзакции.Транзакция состоит из набора операций с совместно используемыми данными,при этом вся транзакция целиком либо полностью выполняется, либо полностьюне выполняется.

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

Назовите как минимум три источника задержек между радиостанцией WWV,которая рассылает сигналы точного времени, и процессором в распределен­ной системе, устанавливающим свои внутренние часы.2. Рассмотрим поведение двух машин в распределенной системе. Обе они име­ют часы, которые считаются выставленными на 1000 тиков в миллисекунду.Одни из часов действительно выдают такую частоту тиков, другие же тикаютвсего 990 раз в миллисекунду. Если поправки UTC приходят раз в минуту,какое максимальное расхождение может возникнуть между часами?3.

Добавьте к рис. 5.7 новое сообш;ение одновременно с сообщением А так, что­бы ни до сообщения Л, ни после него ничего не происходило.4. Является ли абсолютно необходимым подтверждение каждого сообщения дляполностью упорядоченной групповой рассылки с отметки времени по Лам­порту?5. Рассмотрим коммуникационный уровень, в котором сообщения доставляют­ся в том же порядке, в котором они были отправлены. Приведите пример, ко­гда даже такое упорядочение излишне строго.6. Представьте себе, что два процесса одновременно обнаруживают передачу ко­ординатора и решают провести голосование по алгоритму забияки.

Что прои­зойдет в этом случае?7. На рис. 5.12 мы видим два одновременно курсирующих сообщения ГОЛО­СОВАНИЕ. Хотя мы не испытываем проблем с тем, что их два, было бы сим­патичнее убрать одно из них. Придумайте алгоритм, который делал бы это, неоказывая влияния на основной алгоритм голосования.8.

Многие распределенные алгоритмы требуют наличия координирующего про­цесса. В какой степени такие алгоритмы могут считаться распределенными?9. При централизованном подходе к взаимным исключениям (см. рис. 5.13) по­сле получения сообщения от процесса о том, что он не нуждается большев исключительном доступе к критической области, которую использовал, ко­ординатор обычно разрешает доступ первому процессу в очереди.

Приведитедругой возможный алгоритм работы координатора.10. Рассмотрим снова рис. 5.13. Представьте себе, что координатор стал неактив­ным. Обязательно ли это приведет к сбою системы? Если нет, при каких326Глава 5. Синхронизацияусловиях это произойдет? Существует ли способ решить проблему и сделатьсистему устойчивой к потере координатора?И. Алгоритм, предложенный в [380], имеет недостаток. Если в процессе возни­кает сбой и он перестает отвечать другим процессам на их запросы на входв критическую область, отсутствие ответа интерпретируется как запрет дос­тупа.

Мы предложили, чтобы ответ на все запросы приходил немедленно, да­бы проще было обнаружить сбойные процессы. Существуют ли такие усло­вия, при которых этот метод окажется неприемлемым?12. Как изменяться элементы в табл. 5.1, если мы предположим, что алгоритмыреализуются в локальной сети, которая поддерживает аппаратную широкове­щательную рассылку?13. Распределенные системы могут иметь множество независимых критическихобластей. Представим себе, что процесс О хочет войти в критическую область А,а процесс 1 хочет войти в критическую область В.

Приведет ли использова­ние алгоритма, предложенного в [380], к взаимной блокировке? Поясните свойответ.14. Рассматривая рис. 5.16, мы говорили об атомарном обновлении списка това­ров с использованием магнитных лент. Как вы полагаете, почему, несмотряна простоту эмуляции магнитных лент при помощи диска (в качестве файла),этот способ все же не используется?15. В табл. 5.3 представлены три плана, два приемлемых и один неприемлемый.Для этих же транзакций (см. листинг 5.4) создайте полный список значений х,которые могут получиться в результате, и укажите, какие из них допустимы,а какие нет.16. Когда для реализации транзакций над файлами используется закрытое рабо­чее пространство, может случиться так, что в родительское рабочее простран­ство придется копировать большое количество индексов файлов.

Как это сде­лать, не вводя условий гонок?17. Приведите полный алгоритм попытки блокирования файла с успешным и не­успешным результатами. Рассмотрите блокировку на чтение и на запись,а также возможность файла быть в момент попытки неблокированным, забло­кированным на чтение, заблокированным на запись.18.

Системы, использующие блокировки для управления параллельным выпол­нением транзакций, обычно отличают блокировку на чтение от блокировкина запись. Что произойдет, если процесс всегда устанавливал блокировку начтение, а теперь хочет заменить ее блокировкой на запись? Что произойдетв случае замены блокировки на запись блокировкой на чтение?19. Используя упорядочение по отметке времени в распределенных системах,предположим, что операция записи wnte(Ti,x) может быть передана менеджеруданных, поскольку единственная грозящая конфликтом операция wnte(T2,x)имеет меньшую отметку. Почему имеет смысл потребовать от планировщикаповторно передать операцию write(Ti,x) менеджеру данных после заверше­ния транзакции Гг?5.7.

Итоги32720. Является ли оптимистическое управление параллельным выполнением тран­закций более (или менее) строгим, чем использование отметок времени? По­чему?21. Гарантирует ли использование отметок времени в управлении параллельнымвыполнением транзакций сериализуемость процесса? Почему?22. Мы много раз говорили, что в случае прерывания транзакции мир возвраща­ется в свое первоначальное состояние, как если бы никакой транзакции небыло.

Мы лгали. Приведите пример, когда вернуть мир в исходное состояниеневозможно.Глава 6Непротиворечивостьи репликация6.1. Обзор6.2. Модели непротиворечивости, ориентированные на данные6.3. Модели непротиворечивости, ориентированные на клиента6.4. Протоколы распределения6.5. Протоколы непротиворечивости6.6. П р и м е р ы6.7. ИтогиВажным вопросом для распределенных систем является репликация данных. Дан­ные обычно реплицируются для повышения надежности и увеличения произво­дительности. Одна из основных проблем при этом — сохранение непротиворечи­вости реплик.

Говоря менее формально, это означает, что если в одну из копийвносятся изменения, то нам необходимо обеспечить, чтобы эти изменения быливнесены и в другие копии, иначе реплики больше не будут одинаковыми. В этойглаве мы детально рассмотрим, что в действительности означает непротиворечи­вость реплицируемых данных и различные способы, которыми она достигается.Мы начнем с общего обзора, в ходе которого обсудим, для чего используетсярепликация и как она влияет на масштабируемость. Особое внимание мы уде­лим репликации на базе объектов, важность которой для распределенных системв настоящее время растет.Чтобы добиться высокой производительности в операциях с совместно ис­пользуемыми данными, разработчики параллельных компьютеров уделяют боль­шое внимание различным моделям непротиворечивости данных в распределенныхсистемах с разделяемой памятью. Эти модели, одинаково успешно применяемыедля различных типов распределенных систем, детально рассматриваются в этойглаве.Реализация моделей непротиворечивости разделяемой памяти для крупно­масштабных распределенных систем обычно представляет собой нелегкую задачу.6.1.

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

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

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