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

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

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

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

Наиболее серьезная проблема передачи указателей состоит в том.262Глава 4. Именованиечто длинные цепочки существенно снижают производительность. Кроме того,цепочки весьма уязвимы при сбоях.У процесса Р1исчерпан вес,и он создает скелетон s'У объекта исчерпанчастичный весПроцесс Р1Процесс Р2Процесс Р2 \ О б ] Общий весссылается\^-^ частичный весна объект^'через процесс Р1Рис. 4.26. Создание косвенной ссылки в случае исчерпания частичного весаАльтернативой косвенным ссылкам может быть подсчет поколений ссылок{generation reference counting). Вновь предположим, что каждая удаленная ссылкапредставляет из себя пару (заместитель, скелетон), причем скелетон принадле­жит тому же адресному пространству, что и объект. Каждый заместитель хранитсчетчик копий и номер поколения. При создании новой ссылки вида (замести­тель, скелетон) номер поколения соответствующего заместителя устанавливает­ся в ноль. Поскольку пока еще не было сделано копий заместителя, его счетчиккопий также равен нулю.Копирование удаленной ссылки (заместитель, скелетон) в другой процесспроизводится обычным образом — пересылкой ему копии заместителя.

В этомслучае счетчик копий в исходном заместителе увеличивается на единицу, а счет­чик копий в скопированном заместителе выставляется в ноль. Однако посколькуэтот заместитель был скопирован, он принадлежит к следующему поколению,и по этой причине его номер поколения на единицу больше, чем у исходного за­местителя, что и демонстрирует рис. 4.27.Процесс Р2Процесс Р1 передаетссылку процессу Р2Счетчик копийНомер поколенияРис. 4 .

2 7 . Создание и копирование удаленных ссылокпри подсчете поколений ссылокСкелетон поддерживает таблицу С, в которой G[i] обозначает число создан­ных копий для поколения i. Если заместитель р удаляется, сообщение об удале-4.3. Удаление сущностей, на которые нет ссылок263НИИ посылается скелетону, содержащему номер поколения заместителя, скажем й,и число копий, порожденных от заместителя р, скажем п.

Скелетон приводит Gв соответствие с действительностью, сначала уменьшая на единицу G[k] и пока­зывая, таким образом, что удалена ссылка ^-го поколения. Затем он увеличиваетG[^+l] на п, чтобы показать, что удаленная ссылка создала п потомков или, дру­гими словами, что она была скопирована в п ссылок следующего поколения (от­метим, что скелетон должен сначала создать элемент G[^+l], если ранее он ниче­го не знал о поколении й+1). В том случае, если все элементы G[i\ равны нулю,на объект больше нет ссылок и его можно удалить.Подсчет поколений ссылок также требует надежных коммуникаций, но спо­собен обеспечивать копирование ссылок, не обращаясь при создании копий к ске­летону.4.3.3.

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

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

Соответствен­но, об удалении ссылки можно уведомлять посылкой (возможно, многократной)скелетону сообщения с требованием исключить ссылку из списка ссылок. По­нятно, что операции увеличения и уменьшения счетчика не являются идемпо­тентными операциями.Таким образом, список ссылок не требует от связи надежности, а также не ну­ждается в механизмах обнаружения и отбрасывания повторных сообщений (од­нако необходимо, чтобы добавление ссылок в список и удаление их из спискаподтверждались). Это серьезное преимущество по сравнению с механизмами под­счета ссылок.Списки ссылок, используемые в системе RMI языка Java, основаны на мето­де, описанном в [60]. Согласно этому методу, когда процесс Р создает удаленнуюссылку на объект, он посылает свой идентификатор скелетону объекта, которыйдобавляет Р в список ссылок.

Когда приходит подтверждение, процесс создаетзаместитель объекта в своем адресном пространстве.Передача ссылки другому процессу, то есть посылка копии заместителя, об­рабатывается сходным образом. Когда процесс Р1 посылает копию своего замес-264Глава 4.

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

Эта ситуация полностью аналогична ситуации из вариантас подсчетом ссылок, показанного на рис. 4.24, а, и может быть решена таким жеспособом.Другим важным достоинством списка ссылок является простота сохраненияего непротиворечивости при сбоях процессов. Скелетон объекта регулярно про­веряет, все ли имеющиеся в списке процессы в порядке. Это делается посредст­вом посылки сообщения ping с запросом, живы ли они еще и сохраняют ли ссылкуна объект. Процесс должен немедленно ответить на это сообщение.

Если ответне получен, возможно, даже после нескольких попыток, скелетон удаляет про­цесс из списка.Основной недостаток списка ссылок состоит в том, что он плохо масштабирует­ся, особенно если скелетон должен отслеживать много ссылок. Один из способовсохранить управляемость состоит в том, чтобы указать скелетону на необходи­мость регистрировать ссылки на ограниченный срок. Если заместитель до исте­чения этого срока не подтверждает скелетону свою регистрацию, ссылка простоудаляется из списка. Этот подход называется также арендой {lease).

Мы вернем­ся к аренде в главе 6.4.3.4. Идентификация сущностей,на которые нет ссылокКак уже было продемонстрировано с помощью рис. 4.22, набор сущностей в рас­пределенных системах может содержать сущности со ссылками только друг надруга, то есть недоступные из корневого набора. Такие сущности должны уда­ляться.

К сожалению, методы сборки мусора, описанные ранее, не в состояниивыявить подобные сущности.Нам необходим метод, который позволит отследить все сущности в распреде­ленной системе. В основном он состоит в проверке доступности сущностей изкорневого набора с последующим удалением всех недоступных. Подобные мето­ды носят общее название трассировочной сборки мусора {tracing-based garbagecollection). В противоположность распределенным ссылкам, которые мы рассмат­ривали ранее, трассировочной сборке мусора присущи проблемы масштабируе­мости, поскольку необходимо отслеживать все сущности распределенной системы.Примитивная трассировка в распределенных системахЧтобы разобраться в распределенной трассировочной сборке мусора, полезно об­судить трассировку в однопроцессорных системах. Наиболее простой подход4.3. Удаление сущностей, на которые нет ссылок265к однопроцессорной трассировке представлен сборщиками типа «помечай и под­метай».

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

Эти сущности считаются мусором, ко­торый должен быть удален.Другой вариант работы сборщиков «помечай и подметай» — трехцветная по­метка сущностей, Изнача.71ьно каждая сущность, которую следует проверить, ок­рашена в белый цвет. К концу фазы пометки все сущности, доступные из корня,помечаются черным, а недоступные остаются белыми. Серый цвет используетсядля индикации хода фазы пометки. Сущность помечается серым, если она дос­тупна, но ссылки, которые содержит эта сущность, еще нуждаются в проверке.Когда все сущности, на которые ссылается данная сущность, окрашиваются се­рым, сама она становится черной.Распределенный вариант схемы «помечай и подметай» был реализована в сис­теме Emerald, описанной в [220].

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

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

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

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