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

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

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

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

При этом используются следующиеобозначения:1Редкие сообщения, такие как приказ Сервера Клиенту стать Копией, в данной таблице опущены.80– CLN – Клиент (от англ. client)– SRV – Сервер (от англ. server)– BCK – Копия (от англ. backup)– ASK – Запрос (от англ. ask)– CNF – Подтверждение (от англ. confirmation)Например, сообщение CLN_ASK_SRV_RO_LOCK означает запрос Клиента кСерверу на осуществление блокировки на чтение, SRV_ASK_BCK_RO_LOCK – пе­ренаправление этого запроса Сервером к своей Копии, BCK_CNF_SRV_RO_LOCK –подтверждение Копией выполнения операции, и SRV_CNF_CLN_RO_LOCK – разре­шение Сервера на осуществление блокировки Клиентом.Остальные цепочки сообщений выглядят аналогичным образом1 , и, чтобыподчеркнуть данную общность, все сообщения в таблице объединены в соответ­ствующие четвёрки, а описание для каждой расшифровывает назначение всейцепочки (назначение отдельных сообщений можно расшифровать, используяинформацию выше).3.3.

Процесс блокировкиРассмотрим реализацию этапов процесса блокировки – на запись (эксклю­зивную) и на чтение (неэксклюзивную).3.3.1. Реализация блокировки на запись1. Клиент отправляет сообщение CLN_ASK_SRV_RW_LOCK, в котором указанидентификатор разделяемых данных. Задача, инициировавшая запрос,блокируется до получения ответа.1Следует отметить, что сообщения SRV_CNF_CLN_UPDATE обрабатываются не только инициатором,но всеми Клиентами системы, обновляя локальные значения соответствующих распределённых переменных(см. ниже).812. Сервер, получив запрос на блокировку, проверяет текущее состояниетребуемых данных.

Если ресурс уже заблокирован, то запрос на бло­кировку ставится в очередь FIFO. Если же блокировка возможна, тосервер помечает данные как блокированные и отправляет сообщениеSRV_ASK_BCK_RW_LOCK.3. Копия, получив запрос на сохранение блокировки, также помеча­ет у себя данные как блокированные и отправляет сообщениеBCK_CNF_SRV_RW_LOCK. Заметим, что здесь попутно проверяется актив­ность как сервера, так и копии, поскольку продолжение сценария требуетобмена сообщениями между ними.4. Сервер, получив подтверждение сохранения блокировки, отправляет сооб­щение SRV_CNF_CLN_RW_LOCK. Поскольку гарантируется как порядок, таки доставка сообщений, то клиент получит это сообщение только после всехобновлений данных (см.

ниже) и его локальное значение будет актуаль­ным.5. Клиент, получив разрешение на блокировку, возобновляет выполнение за­дачи, потребовавшей эксклюзивный доступ к разделяемым данным. Те­перь клиент может быть уверен, что имеющиеся у него данные актуальныи не будут изменены другими узлами, пока блокировка сохраняется.6. Закончивработусданными,клиентотправляетсообщениеCLN_ASK_SRV_UPDATE, вместе с которым передаётся новое значениеданных. Их целостность обеспечивается системой доставки сообщений.7. Сервер, получив запрос на обновление данных, сохраняет у себя новоезначение и посылает сообщение SRV_ASK_BCK_UPDATE, в котором такжепередаётся новое значение данных.8.

Копия, получив запрос на сохранение данных, также обновляет у себяих текущее значение и отправляет сообщение BCK_CNF_SRV_UPDATE. Одно­82временно осуществляется контроль функционирования как Сервера, таки Копии.9. Сервер, получив подтверждение сохранения данных, отправляет сообще­ние SRV_CNF_CLN_UPDATE с новым значением данных. Это сообщение пред­назначено для всех узлов. После отправки сообщения пометка о блоки­ровке данных снимается, и сервер проверяет наличие других запросов наблокировку в очереди. Если такие запросы имеются, то начинается их об­работка.

Заметим, что в случае запроса блокировки на чтение (см. ниже),совместно с ним будут обработаны и все остальные накопившиеся запросыблокировки на чтение, так как они не мешают друг другу.10. Клиенты, получив команду на обновление данных, устанавливают новоезначение. Поскольку сообщения могут дойти до узлов с разными задерж­ками, синхронность данных в реальном времени не достигается, но бла­годаря отсутствию потерь и сохранению порядка сообщений, требованиямодели консистентности будет выполнены.3.3.2. Реализация блокировки на чтение1. Клиент отправляет сообщение CLN_ASK_SRV_RO_LOCK, в котором указанидентификатор разделяемых данных. Задача, инициировавшая запрос,блокируется до получения ответа.2.

Сервер, получив запрос на блокировку, проверяет текущее состояние тре­буемых данных. Если ресурс уже заблокирован на запись, то запрос наблокировку ставится в очередь FIFO. Если же блокировка возможна,то сервер помечает данные как блокированные и отправляет сообщениеSRV_ASK_BCK_RO_LOCK. Заметим, что наличие блокировок на чтение в дан­ном случае не является препятствием.3. Копия, получив запрос на сохранение блокировки, также помеча­ет у себя данные как блокированные и отправляет сообщение83BCK_CNF_SRV_RO_LOCK.

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

Клиент, получив разрешение на блокировку, возобновляет выполнение за­дачи, потребовавшей неэксклюзивный доступ к разделяемым данным. Те­перь клиент может быть уверен, что имеющиеся у него данные актуальныи не будут изменены другими узлами, пока блокировка сохраняется.6. Закончивработусданными,клиентотправляетсообщениеCLN_ASK_SRV_RELEASE_LOCK. Поскольку данные не изменялись, пере­давать их значение нет необходимости.7. Сервер, получив запрос на снятие блокировки, посылает сообщениеSRV_ASK_BCK_RELEASE_LOCK.8. Копия, получив запрос на сохранение снятия блокировки, отража­ет эту операцию в своих системных данных и отправляет сообщениеBCK_CNF_SRV_RELEASE_LOCK. Параллельно происходит контроль функци­онирования как Сервера, так и Копии.9.

Сервер, получив подтверждение сохранения снятия блокировки, удаляетузел из списка блокирующих. Если список оказался пустым, то пометка облокировке данных снимается, и Сервер проверяет наличие других запро­сов на блокировку в очереди. Если такие запросы имеются – начинаетсяих обработка.843.4. Отказоустойчивость3.4.1. Термин «сообщение» и атомарностьПрежде всего необходимо уточнить значение термина «сообщение».

В раз­делах выше мы использовали данный термин в двух значениях – говоря осущности, формируемой примитивами Send и Receive, а также при рассмот­рении сущностей, курсирующих на уровне DSM, как, например, представленона рис. 2.4 стр. 65. Временно разделим эти понятия, назвав первое «низкоуров­невым сообщением», а второе, соответственно, «высокоуровневым сообщением».На уровне реализации последний тип не всегда совпадает с первым. Весь инфор­мационный обмен в МАКС DSM построен вокруг ключевых высокоуровневыхсообщений, являющихся по сути целыми пакетами низкоуровневых сообщенийс данными о произошедших в узле изменениях распределённых переменных.Если информации, которую необходимо передать, немного, и она помещается водно низкоуровневое сообщение, пакет будет состоять из него одного, и значе­ния двух терминов в данном случае будут совпадать. Если же данных много,пакет будет состоять из нескольких низкоуровневых сообщений.

С целью из­бежать ситуаций, когда одна часть такого пакета доставлена, а другая частьутеряна (например, вследствие сбоя передающего узла), пакеты в МАКС DSMреализованы атомарными. То есть, несмотря на то, что пакет может состоять изнескольких сообщений низкого уровня, все такие сообщения составляют единыйинформационный блок, который интерпретируется на узле-получателе тольков момент получения последнего из составляющих такой блок сообщений. Такойподход используется для абсолютно всех типов высокоуровневых сообщений вМАКС DSM, поэтому в системе как для низкоуровневых так и для высокоуров­невых сообщений остаются возможны лишь две ситуации: 1) сообщение достав­лено 2) сообщение не доставлено. В связи с этим, нет практической пользы отдальнейшего разделения двух сущностей и в будущем обе сущности мы будемназывать единым термином «сообщение».853.4.2. Действия при выходе узлов из строяВоздействие Клиента на систему в протоколе МАКС DSM в конечномсчёте сводится к отправке ключевых сообщений CLN_ASK_SRV_UPDATE илиCLN_ASK_SRV_RELEASE_LOCK после завершения Клиентом работы с распреде­лёнными данными.

Если Клиент запросил блокировку и вышел из строя, тоСервер, обнаружив наличие блокировки в течение времени, превышающегозаданное1 , принудительно её снимает. При этом, в случае блокировки на за­пись, она передаётся следующему в очереди узлу. В случае же блокировки начтение (или отсутствии узлов в очереди), Сервер посылает Копии сообщениеSRV_ASK_BCK_RELEASE_LOCK и считает блокировку исчезнувшим узлом снятой.Узел помечается как «пропавший», и если от него всё-таки придёт сообще­ние CLN_ASK_SRV_UPDATE или CLN_ASK_SRV_RELEASE_LOCK, то оно игнорирует­ся. Клиент может продолжить работу с сообщений CLN_ASK_SRV_RW_LOCK илиCLN_ASK_SRV_RO_LOCK.Функционирование Копии проявляется в системе отправкой подтвержда­ющих сообщений BCK_CNF_* в ответ на сообщения сервера SRV_ASK_BCK_*.

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

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

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

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