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

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

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

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

Подмножество объек­тов, в которых нет ссылок друг на друга, известно под названием корневого набора{root set). Объекты корневого набора обычно представляют системные службы,пользователей и т. д.На рис. 4.22 показан граф ссылок. Все белые узлы представляют объекты, накоторые у объектов корневого набора нет прямых или косвенных ссылок. Такиеобъекты могут быть удалены.Недостижимые сущности,образующие замкнутый цикл ссылокКорневой наборДостижимыедля корневогонабора сущностиНедостижимая для корневогонабора сущностьРис.

4 . 2 2 . Пример графа объектов, содержащих ссылки друг на другаВ однопроцессорных системах обнаружение и удаление объектов, на которыенет ссылок, относительно несложно по сравнению с тем, что происходит в рас­пределенных системах (описание сборки мусора в однопроцессорных системахможно найти в [226]). Поскольку объекты в нашем случае разбросаны по множе­ству машин, распределенная сборка мусора нуждается в сетевой связи. Как выяс­няется, эта связь оказывает решающее влияние на производительность и масшта­бируемость решений.

Кроме того, связь (как и машины, как и процессы) подвер­жена сбоям, которые способны еще более усложнить задачу.В этом пункте мы рассмотрим несколько общеизвестных решений проблемыраспределенной сборки мусора. В большинстве случаев эти решения лишь час­тично решают проблему. Наш подход подобен подходу, примененному в [356],где описывается целый обзор способов распределенной сборки мусора. Допол­нительную информацию можно почерпнуть также из [2].4 .

3 . 2 . Подсчет ссылокМетод проверки (который весьма популярен в однопроцессорных системах) воз­можности удаления того или иного объекта состоит в том, чтобы просто вестиподсчет ссылок на этот объект. Каждый раз при создании ссылки на объект счет­чик ссылок на этот объект увеличивается на единицу. Когда ссылка на объект4.3. Удаление сущностей, на которые нет ссылок259уничтожается, значение счетчика уменьшается. Как только значение счетчика ста­нет равным нулю, объект можно удалять.Простой подсчет ссылокПростой подсчет ссылок в распределенных системах приводит к некоторым про­блемам, возникающим отчасти из-за ненадежности связи.

Без потери общностимы можем предположить, что объект хранит свой счетчик ссылок в соответст­вующем скелетоне, который управляется сервером объекта, отвечающим за этотобъект. Этот случай показан на рис. 4.23.Процесс РСкелетон (поддерживает счетчик ссылок)Объект ОЗаместитель рЗаместитель ручтен в расчетахдваждыРис. 4 .

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

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

Таким образом, если процесс Р1 решит уничтожитьсвою ссылку, содержимое счетчика ссылок может стать равным нулю и объект Оможет быть удален до того, как Р2 сможет с ним связаться. Эту проблему иллю­стрирует рис. 4.24, а.260Глава 4. ИменованиеПроцесс Р1Процесс Р1посылает ссылку удаляет своюпроцессу Р2 ссылку на объект ОПроцесс Р2 сообщает объекту О,что у него есть ссылка на негоПроцесс Р1 сообщаетПроцесс Р1объекту О, что он передаст удаляет свою ссылкуссылку на него процессу Р2на объект ОПроцесс Р1посылаетссылкупроцессу Р2Объект О подтверждает,что ему известноо существовании ссылкина него у процесса Р2Рис. 4.24.

Копирование ссылки в другой процесс и запоздавшее увеличение счетчика (а).Решение (б)Решение состоит в том, чтобы потребовать от Р1 уведомлять скелетон объек­та о том, что он собирается передать ссылку процессу Р2. Кроме того, процесс недолжен удалять свою ссылку до тех пор, пока скелетон не подтвердит ему, чтознает о создании ссылки. Это решение продемонстрировано на рис. 4.24, 6. Под­тверждение, посылаемое от объекта О процессу Р2, уведомляет F2, что объект Озарегистрировал ссылку, что позволяет Р1 позднее удалить свою ссылку.

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

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

4.25, а.При создании новой удаленной ссылки половина частичного веса, храняще­гося в скелетоне объекта, присваивается новому заместителю, как показано нарис. 4.25, б. Оставшаяся половина хранится в скелетоне. Когда удаленная ссылкадублируется, например, при ее передаче из процесса Р1 в процесс Р2, половиначастичного веса заместителя из Р1 передается заместителю процесса Р2, в кото­рый производится копирование, а вторая половина остается в заместителе про­цесса Р1, как показано на рис. 4.25, в.4.3. Удаление с у щ н о с т е й , на которые нет ссылокСкелетонОбъект ООбщий вес 128 ГЧастичный вес |128|Частичныйвесзаместителя261Частичный весскелетона/сниженПроцесс РX наполовиь128hч"64l ч\М]\LtJ^ЧJЗаместительПроцесс Р2 получаетполовину весазаместителяиз процесса Р1Процесс Р1 передаетссылку процессу Р2Процесс Р2Общий и частичный[128] Jc^ вес скелетонаостался прежним[64]')Й^\iJРис.

4 . 2 5 . Исходное соотношение весов при взвешенном подсчете ссылок (а). Присвоениевеса при создании новой ссылки (б). Присвоение веса при копировании ссылки (в)При уничтожении ссылки скелетону объекта посылается сообщение, умень­шающее счетчик. Затем из общего веса вычитается частичный вес уничтоженнойссылки. Как только общий вес станет равным нулю, объект можно удалять. От­метим, что в этом случае также предполагается, что сообщения не теряются и недублируются.Основная проблема взвешенного подсчета ссылок состоит в том, что количе­ство создаваемых ссылок ограничено.

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

Это абсолютно аналогично созданию в адресном простран­стве объекта скелетона 5. Затем процессу Р2 пересылается заместитель, которомупередается половина частичного веса скелетона s'. Другая половина веса остает­ся у 5' для раздачи другим заместителям.Заметим, что если общий вес скелетона 5' установить в 1, этот подход превра­тится в подобие передачи указателя из процесса Р1 в процесс Р2. Если, в своюочередь, Р2 захочет передать свою ссылку, он может создать еще один передавае­мый указатель.

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

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

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