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

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

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

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

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

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

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

В этом случае правильное упорядочение операцийчасто затруднено.Вопросы и задания1. Доступ к совместно используемым объектам в Java можно сериализовать,объявив их методы синхронизуемыми. Достаточно ли этого, чтобы гаранти­ровать сериализацию при репликации этих объектов?2. Рассмотрим монитор, описанный в главе 1. Если потоки выполнения в реплицированном мониторе можно блокировать, что нам нужно сделать для гаран­тии правильного срабатывания условной переменной?6.7.

Итоги4013. Опишите своими словами, какова главная причина создания моделей слабойнепротиворечивости.4. Опишите, как реализована репликация в DNS и почему она так хорошо рабо­тает на практике.5. В ходе обсуждения моделей непротиворечивости мы часто ссылались на кон­тракт между программой и хранилищем данных. Зачем нужен такой кон­тракт?6. Линеаризуемость предполагает существование глобальных часов.

Однако, какмы видели, подобное требование делает нереальным поддержание в большин­стве распределенных систем строгой непротиворечивости. Можно ли реали­зовать линеаризуемость в физически распределенных хранилищах данных?7. Мультипроцессорная система имеет одну шину. Можно ли реализовать в та­кой системе память со строгой непротиворечивостью?8.

Почему последовательность W1(x)a R2(x)NIL R3(x)a по отношению к пред­ставленному на рис. 6.5, б хранилищу данных запрещена?9. Рассмотрим рис. 6.7. Является ли допустимым результатом для распределен­ной разделяемой памяти, поддерживающей только непротиворечивость FIFO,значение 001110? Поясните свой ответ.10. Рассмотрим рис. 6.8. Является ли значение 001110 допустимым результатомдля последовательно непротиворечивой памяти? Поясните свой ответ.И.

В конце пункта 6.2.2 мы обсуждали формальную модель, которая гласит, чтолюбой набор операций в последовательно непротиворечивом хранилище дан­ных может быть промоделирован строкой истории Я, из которой могут бытьвыведены все индивидуальные последовательности процессов. Для процес­сов Р1 и Р2, показанных на рис. 6.9, приведите все возможные значения Н.Игнорируйте процессы РЗ и Р4 и не включайте в Я их операции.12. Последовательно непротиворечивая память допускает шесть вариантов чере­дования инструкций, представленных в табл.

6.4. Перечислите их.13. Часто утверждается, что модели слабой непротиворечивости — это дополни­тельная «головная боль» для программистов. В какой степени это высказыва­ние соответствует действительности?14. Во многих реализациях свободной непротиворечивости в распределенных сис­темах с разделяемой памятью общие переменные синхронизируются при ос­вобождении, а не при захвате. Зачем для них вообще нужен захват?15. Какую непротиворечивость обеспечивает система Огса, последовательную илипоэлементную? Поясните свой ответ.16. Способна ли полностью упорядоченная групповая рассылка, организуемаясеквенсором и предназначенная для сохранения непротиворечивости при ак­тивной репликации, повредить аргумент, передаваемый от точки к точке,в архитектуре системы?17. Какой тип непротиворечивости вы будете использовать при реализации про­екта электронной биржи? Поясните свой ответ.402Глава 6. Непротиворечивость и репликация18.

Рассмотрим персональный почтовый ящик мобильного пользователя, реали­зованный как часть глобальной распределенной базы данных. Какой тип не­противоречивости, ориентированной на клиента, будет для него наиболее под­ходящим?19. Опишите простую реализацию непротиворечивости чтения своих записей дляотображения только что обновленных web-страниц.20. Приведите пример, когда непротиворечивость, ориентированная на клиента,может легко привести к конфликтам двойной записи.21. Необходимо ли, чтобы в условиях аренды часы клиента и сервера были точносинхронизированы?22. Рассмотрим неблокирующий протокол первичного архивирования, исполь­зуемый для гарантированного соблюдения последовательной непротиворечи­вости в распределенном хранилище данных.

Будет ли это хранилище всегдаобеспечивать непротиворечивость чтения своих записей?23. Обычно для работы активной репликации необходимо, чтобы все операциивыполнялись всеми репликами в одном и том же порядке. Всегда ли это необ­ходимо?24. Один из методов реализации полностью упорядоченной групповой рассылкис помощью секвенсора — сначала передать операцию секвенсору, которыйприсвоит ей уникальный номер и произведет групповую рассылку операции.Предложите два альтернативных метода и сравните эти три решения.25. Файл реплицирован на 10 серверах.

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

Рассмотрим причинно непротиворечивую медленную репликацию. Когда опе­рации могут быть удалены из очереди?28. В этом упражнении вам предстоит реализовать простую систему, поддержи­вающую групповые вызовы RPC. Мы предполагаем, что имеется несколькореплицированных серверов и каждый клиент работает с сервером посредст­вом RFC. Однако в условиях репликации клиент должен послать RFC каж­дой реплике. Программируя клиента, помните, что для приложения это должновыглядеть посылкой единственного вызова RFC. Считайте, что репликациятребуется для повышения производительности, а серверы подвержены сбоям.Глава 7Отказоустойчивость7.1. Понятие отказоустойчивости7.2. Отказоустойчивость процессов7.3.

Надежная связь клиент-сервер7.4. Надежная групповая рассылка7.5. Распределенное подтверждение7.6. Восстановление7.7. ИтогиХарактерной чертой распределенных систем, которая отличает их от единичныхмашин, является возможность частичного отказа. Частичный отказ происходитпри сбое в одном из компонентов распределенной системы. Этот отказ может на­рушить нормальную работу некоторых компонентов, в то время как другие ком­поненты это никак не затронет.

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

После изложения определенных базовых сведенийоб отказоустойчивости мы рассмотрим вопросы отказоустойчивости процессов инадежной групповой рассылки. Под отказоустойчивостью процессов мы пони­маем методы, при помощи которых отказ одного или более процессов проходитдля остальной части системы почти незаметно. С этим вопросом связана пробле­ма надежной групповой рассылки, при которой передача сообщений набору про­цессов производится с гарантией доставки. Надежная групповая рассылка частонеобходима для поддержания синхронности процессов.404Глава 7.

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

Этотраздел мы начнем с рассмотрения базовых концепций обработки отказов, а далееобсудим модели отказов. Основа всех методик ликвидации последствий отка­зов — избыточность, о ней мы тоже поговорим. Дополнительную информациюобщего характера по отказоустойчивости можно найти, например, в [213].7 . 1 . 1 . Основные концепцииЧтобы понять роль отказоустойчивости в распределенных системах, сначала не­обходимо выяснить, что для распределенных систем означает «быть отказоустой­чивыми». Отказоустойчивость тесно связана с понятием надежных систем {de­pendable systems). Надежность — это термин, охватывающий множество важныхтребований к распределенным системам [241], включая:4 доступность (availability);-¥ безотказность (reliability);> безопасность (safety);4 ремонтопригодность (maintainability).Доступность — это свойство системы находиться в состоянии готовности кработе.

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

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

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