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

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

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

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

Такая непротиворечивость применяется в тех слу­чаях, когда операции записи коммутативны, то есть их упорядоченность насамом деле не является необходимой. Детали можно найти в [453].6.3.4. Чтение собственных записейСуществует и еще одна модель непротиворечивости, ориентированная на клиен­та, весьма схожая с непротиворечивостью монотонной записи. Хранилище дан­ных обладает свойством непротиворечивости чтения собственных записей (readyour-writes consistency), если оно удовлетворяет следующему условию: результатопераций записи процесса в элемент данных х всегда виден последующим операци­ям чтения х этого же процесса.Другими словами, операция записи всегда завершается раньше следующейоперации чтения того же процесса, где бы ни происходила эта операция чтения.Отсутствие непротиворечивости чтения собственных записей часто обнару­живается при обновлении web-страниц с последующим просмотром результатов.Операции обновления часто производятся при помощи стандартного или друго­го текстового редактора, который записывает новую версию в совместно исполь­зуемую файловую систему web-сервера.

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

Однако при смене пароля для вступления но­вого пароля в силу может потребоваться несколько минут. В результате эти не­сколько минут библиотека будет недоступна для пользователей. Задержкаможет возникнуть из-за того, что для работы с паролями используется отдель­ный сервер и последующая рассылка пароля (зашифрованного) серверам, на ко­торых находится библиотека, может потребовать времени. Эта проблема ужевстречалась в Grapevine, одной из первых распределенных систем, поддерживав­ших причинно-следственную связь. Помогла решить эту. проблему реализациянепротиворечивости чтения собственных записей [61].362Глава 6.

Непротиворечивость и репликацияНа рис. 6.16, а показано хранилище данных с непротиворечивостью чтениясобственных записей. Отметим, что этот рисунок очень похож на рис. 6.14, а, заисключением того, что непротиворечивость теперь определяется по последнейоперации записи процесса Р, а не по последней операции чтения.L1:L2:W(x^)WS(Xi;x2)L1:RCXj)L2:W(Xi)WS(X2)R(X2)Рис. 6.16. Хранилище данных с непротиворечивостью чтения собственных записей (а).Хранилище данных без непротиворечивости чтения собственных записей (б)На рис. 6.16, а процесс Р выполняет операцию записи W{x\), а затем опера­цию чтения другой локальной копии.

Непротиворечивость чтения собственныхзаписей гарантирует, что эффект, произведенный операцией записи, будет на­блюдаться при последующей операции чтения. На это указывает операцияWS{x\\X2), означающая, что W{x\) является частью операции W5(x2). В противо­положность этому, на рис. 6.16, б операция W{X]) остается вне операции WS{x2),указывая на то, что эффект предыдущей операции записи процесса Р не распро­страняется на копию 12.6.3.5. Запись за чтениемПоследняя модель непротиворечивости, ориентированная на клиента, — это мо­дель, в которой изменения распространяются как результаты предыдущей опера­ции чтения.

В этом случае говорят, что хранилище данных обеспечивает непро­тиворечивость записи за чтением (writes-follow-reads consistency), если соблюдает­ся следующее условие: операция записи в элемент данных х процесса, следующаяза операцией чтения х того же процесса, гарантирует, что будет выполнятьсягшд тем же самым или более свежим значением х, которое было прочитано предыдущей операцией.Иными словами, любая последующая операция записи в элемент данных х,производимая процессом, будет осуществляться с копией х, которая имеет по­следнее считанное тем же процессом значение х.Непротиворечивость записи за чтением позволяет гарантировать, что пользо­ватели сетевой группы новостей увидят письма с ответами на некое письмотолько позже оригинального письма [453]. Поясним проблему.

Представьте себе,что пользователь сначала читает письмо А. Затем он реагирует на него, посылаяписьмо В. Согласно требованию непротиворечивости записи за чтением, пись­мо В будет разослано во все копии группы новостей только после того, как тудабудет послано письмо А. Отметим, что пользователи, которые только читают пись­ма, не нуждаются в какой-либо особой модели непротиворечивости, ориентиро­ванной на клиента. Непротиворечивость записи после чтения обеспечит сохра­нение в локальной копии ответа на письмо только в том случае, если там уженаличествует оригинал.6.3.

Модели непротиворечивости, ориентированные на клиента363Эту модель непротиворечивости иллюстрирует рис. 6.17. На рис. 6.17, а про­цесс читает элемент х из локальной копии L1, Операции записи, заменяющиепрочитанное значение, присутствуют в наборе операций записи в L2, которыепозже осуществляет этот процесс (отметим, что другие процессы в L2 также на­блюдают эти операции записи). В противоположность этому, как показано нарис. 6.17, бу отсутствуют всякие гарантии того, что операция записи в L2 выпол­няется над копией, которая не противоречит копии, только что считанной из L1.L1: WS(x^)L2:WS(Xi;x2)R(x^)L1: WSCx,)W(X2)L2:WS(X2)R{x^)W(X2)Рис.

6.17. Хранилище данных с непротиворечивостью записи после чтения (а).Хранилище данных без непротиворечивости записи после чтения (б)6.3.6. РеализацияРеализация непротиворечивости, ориентированной на клиента, относительно про­ста, если не принимать во внимание вопросы производительности. Далее мы сна­чала опишем именно такую реализацию, после чего поговорим о более «жизнен­ных» вариантах реализации.Примитивная реализацияв примитивной реализации непротиворечивости, ориентированной на клиента,каждой операции записи приписывается глобально уникальный идентификатор.Это делается тем сервером, который первым выполняет операцию.

Мы говоримтакже, что операция инициируется этим сервером. Отметим, что генерация гло­бально уникальных идентифргкаторов может быть реализована в виде локальнойоперации (см. задания в конце главы 4). Итак, для каждого клиента мы отслежи­ваем два набора идентификаторов записи. Набор чтения для клиента состоит изидентификаторов записи, соответствующих операциям чтения, выполненнымклиентом. Аналогично, набор записи состоит из идентификаторов операций за­писи, выполненных клиентом.Непротиворечивость монотонного чтения реализуется следующим образом.Когда клиент осуществляет операцию чтения с сервера, этот сервер проверяетнабор чтения клиента на локальное присутствие результатов всех его операцийзаписи (размер этого набора может породить проблемы производительности, ре­шение которых обсуждается ниже). Если это не так, он связывается с другимисерверами, чтобы актуализировать данные до проведения операции чтения.

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

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

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

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

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