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

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

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

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

Однако у нее естьпроблема — низкая производительность. Единственный способ улучшить пока­затели производительности — это ослабить модель непротиворечивости. Неко­торые из возможностей иллюстрирует табл. 6.5. Модели перечислены в прибли­зительном порядке снижения ограничений.Таблица 6.5. Модели непротиворечивости, не требующие операцийсинхронизацииНепротиворечивостьОписаниеСтрогаяАбсолютная упорядоченность во времени всех обращенийк совместно используемой памятиЛинеаризуемостьВсе процессы наблюдают все обращения к совместноиспользуемой памяти в одном и том же порядке. Обращенияупорядочены в соответствии с (неуникальными)глобальными отметками времениПоследовательнаяВсе процессы наблюдают все обращения к совместноиспользуемой памяти в одном и том же порядке.Обращения не упорядочены по времениПричиннаяВсе процессы наблюдают все обращения, связанныепричинно-следственной связью, к совместно используемойпамяти в одном и том же порядкеFIFOВсе процессы наблюдают операции записи любого процессав порядке их выполнения.

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

Эти три модели приведены в табл. 6.6. Когдапроцесс выполняет операцию с обычным элементом совместно используемыхданных, отсутствуют какие-либо гарантии по поводу того, когда его смогут уви­деть другие процессы. Изменения распространятся только при явной синхрони­зации. Эти три модели различаются способом синхронизации, но во всех случаяхпроцесс может производить множественные операции чтения и записи в крити-6.3.

М о д е л и непротиворечивости, ориентированные на клиента355ческой области без реального переноса данных. После окончания критическойобласти результат передается другим процессам или хранится в готовом виде,ожидая, пока другой процесс не потребует этих данных.Таблица 6 .

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

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

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

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

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

Единственная си­туация, которую может потребоваться решать, — это конфликт чтения-записи.В том случае, когда он происходит, часто распространение изменений может про­изводиться постепенно, в том смысле, что процессы чтения могут обнаружитьпроизошедшие изменения только через некоторое время после того, как они насамом деле произойдут.Еще один пример — World Wide Web. Фактически web-страницы всегда из­меняются одним человеком — web-мастером или настоящим владельцем страницы.В результате разрешать конфликты двойной записи обычно не требуется.

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

Но даже при этом многие пользователи lyioryT счестьтакое несоответствие приемлемым.Эти примеры могут рассматриваться как случаи распределенных и реплицируемых баз данных (крупных), нечувствительных к относительно высокойстепени нарушения непротиворечивости. Обычно в них длительное время непроисходит изменения данных, и все реплики постепенно становятся непротиво­речивыми. Такая форма непротиворечивости называется потенциальной непро­тиворечивостью {eventual consistency).6.3. Модели непротиворечивости, ориентированные на клиента357Потенциально непротиворечивые хранилища данных имеют следующее свой­ство: в отсутствие изменений все реплики постепенно становятся идентичными.Как мы будем говорить позднее в этой главе, потенциальная непротиворечи­вость, в сущности, требует только, чтобы изменения гарантированно расходи­лись по всем репликам. Конфликты двойной записи часто относительно легкоразрешаются, если предположить, что вносить изменения может лишь неболь­шая группа процессов.

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

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

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

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

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