Главная » Просмотр файлов » Диссертация

Диссертация (1148255), страница 7

Файл №1148255 Диссертация (МАКС DSM Система распределённой общей памяти для мультиагентных систем в IoT) 7 страницаДиссертация (1148255) страница 72019-06-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Вслучае обнаружения выхода из строя сервера, потери данных не происходит,так как они имеются на узле-копии, который становится новым сервером, выде­37ляя какой-то из оставшихся узлов в качестве своей копии. Клиент, заметившийсработавший таймаут может разослать широковещательное сообщение, чтобынайти новый сервер, либо же немного подождать – новый сервер может сампослать широковещательное сообщение, информируя узлы в системе о сменеузла-сервера.Очевидно, что при одновременном выходе из строя и сервера и его ко­пии, восстановиться системе уже не удастся, и здесь разработчику необходимоопределиться – какую надежность должна обеспечивать его система. В случаенеобходимости у узла-копии может изначально иметься и собственная копия,что, соответственно, повысит надежность системы, но увеличит задержки привыполнении операций и нагрузку на каналы передачи данных.Данный алгоритм применим ко многим моделям консистентности, так какне вносит новых ограничений на пересылку данных, а лишь требует, чтобыоперации записи, когда бы они (согласно требованиям конкретной модели) нираспространялись между узлами, происходили не напрямую, а через выделен­ный серверный узел.1.5.2.

Алгоритм миграции данныхВ данном алгоритме данные всегда хранятся лишь на одном узле. В слу­чае, если они потребовались на каком-то другом – осуществляется их миграция(рис. 1.10).запрос данных1234миграция данныхРисунок 1.10 – Алгоритм миграции данныхПри таком подходе, завладевший данными узел, может сколь угодно дол­го осуществлять операции чтения и записи без необходимости обмена данными38с другими узлами (по крайней мере до тех пор, пока какой-то другой узел непотребует те же данные). Текущий владелец может быть обнаружен через рас­сылку широковещательного запроса, либо каждый элемент данных может бытьсвязан с конкретным узлом-менеджером (однозначно определяемым, например,по некоторой хэш-функции из свойств элемента), который будет контролиро­вать перемещение данного блока и всегда «знать» его текущего владельца.Устойчивость ко сбоям отдельных узлов привносится в алгоритм доста­точно просто – нужно лишь обеспечить наличие копий у всех блоков данных,что проще всего сделать следующим образом: в момент, когда осуществляетсятрансфер данных от одного узла к другому, данные на первом узле не уничто­жаются, а лишь помечаются как запасные (в англоязычных работах обычноиспользуется слово invalid).

Одновременно с запрошенными данными следуетотправлять и остальные, которые были изменены на узле, но пока никому неотправлялись (так называемые dirty данные). При получении, такие данныемаркируются как invalid, а в совокупности всё это приводит к наличию копииу любых данных, из чего достаточно просто можно создать алгоритм восста­новления в случае сбоя любого узла, аналогично алгоритму, представленномув случае с центральным сервером.Алгоритм миграции данных хорошо применим для реализации моделей,подобных модели ленивой консистентности по выходу, и совершенно неприме­ним в случаях, когда измененные данные нужно как можно скорее распростра­нить по всем узлам, а также в случаях, когда требуется обеспечить возможностьнеэксклюзивного захвата синхро-переменной (в котором допускается одновре­менное чтение несколькими узлами одних и тех же данных).

Отсюда вытекаети еще один минус алгоритма – высокая нагрузка на каналы передачи данныхв случае если различные узлы часто обращаются к одним и тем же данным,даже если производят лишь операции чтения.391.5.3. Алгоритм репликации по чтениюДанный алгоритм призван повысить эффективность алгоритма миграции,описанного выше. Он допускает создание множественных копий одних и тех жеданных в случае если к этим данным осуществляется доступ только на чтение.Очевидно, что во многих случаях затрат на пересылку данных в этом алгоритмеудастся избежать, однако операции записи становятся несколько более затрат­ными – ведь теперь им нужно ещё и оповестить всех владельцев копий соответ­ствующих данных о том, что эти данные больше не актуальны.

За неимениемлаконичного русскоязычного синонима английскому слову invalidate, назовемтакое оповещение инвалидацией.На рисунке 1.11 показано, как выглядит операция записи в общие данныев данном алгоритме: данные являются реплицированными на узлах №3 и №4;узел №1 собирается произвести в них запись, и выполняет соответствующийзапрос к текущему владельцу №3 (в нашем случае к одному из владельцев, таккак данные реплицированы); запрос выполняется и новым владельцем данныхстановится узел №1, который тут же оповещает прежних владельцев №3 и №4о том, что их данные теперь считаются устаревшими.запрос данных1234данныеинвалидацияинвалидацияРисунок 1.11 – Операция записи в алгоритме репликации по чтениюУстойчивость ко сбоям в данном алгоритме может быть достигнута такимже способом, как было описано в случае для алгоритма миграции выше.401.5.4. Алгоритм полной репликацииПо сравнению с алгоритмом репликации по чтению, алгоритм полной ре­пликации идёт еще дальше, позволяя нескольким узлам одновременно не толькочитать, но и записывать одни и те же данные.

Чтобы сохранять в таких усло­виях консистентность, все операции записи должны быть каким-то образомупорядочены. В мультипроцессорах упорядоченность достигается автоматиче­ски, при использовании шины данных, которая одновременно может занимать­ся передачей информации только об одной операции. В условиях отсутствиятакой шины, среди узлов может быть выделен особый узел, осуществляющийнеобходимое упорядочивание. В англоязычных работах данный узел обычно на­зывается sequencer, мы же назовём его просто «сервер».Роль этого сервера похожа на роль одноименного узла, описанного в раз­деле 1.5.1, однако в отличие от последнего, в данном случае сервер не хранитвсе данные, а лишь гарантирует единственно верную для всех узлов последова­тельность операций записи.

Для этого, как и раньше, любому узлу, желающемупроизвести операцию записи в общую память, необходимо сообщить об этом сер­веру. Задача же сервера – оповестить о данной операции все узлы, включая иузел-источник изменения, который по получении такого сообщения может бытьуверен, что операция действительно произведена (см. 1.12).Каждое своё оповещение сервер может снабжать номером, который возрас­тает с каждой рассылкой.

Благодаря данному номеру узлы могут быть уверены,что получают оповещения в правильном порядке (а пропустив какое-то из них,имеют возможность запросить его снова, указав в запросе соответствующийномер).Так как данные распределены по всем узлам, выход из строя любого изних оказывается обратим без дополнительных усовершенствований алгоритма.Сервер может быть восстановлен как и любой другой узел, так как всё, что емунужно «знать», кроме состояния общей памяти, это последний использованный41его предшественником номер, а эта информация имеется по крайней мере водном из узлов (нужно лишь выбрать максимальное значение из имеющихся).Для ускорения процесса восстановления, можно поддерживать копию сервера– так же как было описано в разделе 1.5.1.Алгоритм может быть полезен нетолько для реализации полностью реп­Серверлицированных данных, но и (частич­1записьно), скажем, в ситуации, когда кана­обновлениелы передачи данных не могут обес­печить упорядоченную рассылку ши­2роковещательных сообщений (инымиКлиентсловами, не могут гарантировать, чтосообщение, отправленное узлом рань­43КлиентКлиентРисунок 1.12 – Операция записи в алгоритмеше, придет ко всем остальным узлам полной репликациитоже раньше, чем отправленное следу­ющим).1.5.5.

ЗаключениеВыше рассмотрены лишь основные подходы и принципы, на основе кото­рых может быть создано бесконечное множество алгоритмов, уместных в томили ином окружении. Собственный алгоритм, применимый в нашей ситуации,будет выработан в разделах ниже.1.6. РеализацииС момента возникновения концепции DSM было создано множество реали­зующих её систем. Так как автору не удалось найти подходящий их список (вобнаруженных работах рассматривается от одной, до, в лучшем случае, пятисистем), он собрал его самостоятельно (см. раздел 1.6.8).42Мы не рассматриваем здесь аппаратные и гибридные DSM системы (та­кие как Alewife, DASH, FLASH, Typhoon и др.), сосредотачиваясь именно напрограммных решениях.Для детального обзора каждой из систем потребовалось бы слишком многоместа, но мы выделим из списка, по крайней мере, наиболее известные системыи укажем их наиболее интересные (для данной работы) свойства.1.6.1.

LindaLinda [24], по всей видимости, была предтечей известных нам сегодня DSMсистем. Основываясь на уже существующем языке программирования, Lindaпредлагает расширить этот язык несколькими операциями, создать препроцес­сор, который «развернет» эти операции в вызовы рантайм библиотек Linda идалее собирать программу пользователя обычным для него способом. В част­ности были поддержаны языки Си и Фортран.Ключевой объект в Linda – так называемое «пространство кортежей» – гло­бальное пространство, в которое каждый узел системы может добавить новыйэлемент или же прочесть/удалить существующий. Данное пространство выгля­дит как DSM, а кортеж напоминает структуру из языка Си.

Однако операциидля работы с этими структурами нетипичны для данного языка – к примеру,операция «out("abc", 1, 2, 3)» создаст кортеж с именем «abc», и значени­ем, состоящим из нескольких чисел. Операция «in(\"abc\", 1, ? i, ? j)»,которая может выполняться и на другом узле, извлечет этот кортеж, поместивзначения 2 и 3 в переменные и соответственно. Если бы подходящего под«шаблон» кортежа в пространстве кортежей не нашлось, операция «in» былабы заблокирована до его появления. Кроме этого, система включает операциичтения без удаления и создания новых процессов.Таким образом, разработка под Linda, с одной стороны, позволяет пользо­вателю не изучать новые языки программирования, с другой же, эти нескольконовых операций оказались настолько необычны, что разработка под Linda тре­43бовала перестройки подходов к программированию, а перенос готового ПО вLinda или обратное портирование в другие системы были нетривиальной зада­чей.1.6.2.

IVYIVY [32] во многих источниках считается первой DSM системой, а указан­ная работа – первой, где в явном виде сформулирована известная и по сего­дняшний день концепция DSM.Реализует модель последовательной консистентности (см. раздел 1.4.2).Поддерживает страничную организацию распределённой памяти; при отсут­ствии страницы на локальном узле – обеспечивает её трансфер по сети.Данная система была создана для того, чтобы имитировать мультипроцес­соры и выполнять ПО, разработанное для них, без изменений, таким образомосуществляя мягкий переход к распределённым системам.

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

Тип файла
PDF-файл
Размер
806,38 Kb
Высшее учебное заведение

Список файлов диссертации

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