Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Представление процессов




Параллелизм в ISSS основывается на элементах типа «приложение» (application). Приложение в данном случае примерно соответствует процессу (в том смысле, который вкладывал в это понятие Дийкстра, рассуждая о кооперации последовательных процессов) и лежит в центре методики, которую разработчики ISSS адаптировали для обеспечения отказоустойчивости. Каждое приложение реализуется в виде «основного» модуля языка Ada (процесса, планируемого операционной системой) и составляет один из элементов CSCI (что помогает выявить соответствие между представлениями декомпозиции модулей и процессов). Взаимодействие приложений проходит в форме передачи сообщений, которые в рамках представления «компонент и соединитель» выступают в роли соединителей.

В конструкции системы ISSS предусматривается возможность многопроцессорной обработки. Логическая комбинация процессоров называется группой процессоров (processor group — об этом мы говорили применительно к физическому представлению), а предназначена она для размещения ряда отдельных копии одного или нескольких приложений. На этом принципе основывается отказоустойчивость, а следовательно, и готовность. Одна исполняемая копия является первичной, а все остальные — вторичными; отсюда названия отдельных копии приложения: основное адресное пространство (primary address space, PAS) и запасное адресное пространство (standby address space, SAS). Совокупность основного адресного пространства и сопровождающих его запасных адресных пространств называется операционным блоком (operational unit). Каждый отдельно взятый операционный блок полностью размещается в процессорах одной группы - напомним, ч го на одну группу может приходиться от одного до четырех процессоров. Те элементы системы ISSS, которые конструируются без расчета на отказоустойчивость (другими слонами, не предполагают сосуществования основной и запасной версий), запускаются независимо на разных процессорах. Называемые функциональными группами (functional groups), они при необходимости могут быть размещены на любом процессоре; при этом каждая копия представляет собой отдельный экземпляр программы с собственным состоянием.

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

Приложения взаимодействуют по модели «клиент-сервер». Клиент транзакции отсылает серверу сообщение-запрос на обслуживание (service request message), на которое тот отвечает подтверждением. (Как и во всех прочих реализациях клиент-серверной схемы, любая сторона — в данном случае приложение — в одной транзакции может выступать в роли клиента, а в другой — в роли сервера.) Основное адресное пространство (PAS) внутри операционного блока отправляет всем своим резервным пространствам (SAS) уведомления о смене состояния; резервные пространства, готовые в случае отказа основного пространства или соответствующего процессора заменить его, постоянно пребывают в состоянии ожидания тайм-аутов и других стимулов к действию. Рисунок 6.6 иллюстрирует координацию основного и резервных адресных пространств приложения при резервировании и передаче результатов их взаимодействия группам процессоров.

При получении функциональной группой сообщения она отвечает на него и соответствующим образом обновляет свое состояние. Как правило, основное адресное пространство операционного блока принимает сообщения и отвечает на них, представляя весь операционный блок. После этого оно обновляет собственное состояние и состояние резервных адресных пространств — для этой цели тем отправляются дополнительные сообщения.

Переключение в случае отказа основного адресного пространства происходит бедующим образом:

1. Одно из резервных адресных пространств становится основным.

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

3. Для замены предыдущего основного адресного пространства запускается новое резервное адресное пространство.

4. Новое резервное адресное пространство извещает новое основное пространство о своем существовании и с этого момента начинает получать от последнего сообщения с обновлениями.

Если отказ поражает резервное адресное пространство, для его замены на некотором другом процессоре запускается новое резервное пространство. Установив взаимодействие с основным пространством, оно начинает принимать данные о состоянии.

Введение нового операционного блока осуществляется следующим образом-

♦ Определяются и локализуются необходимые входные данные.

♦ Определяются операционные блоки, рассчитывающие на получении выходных данных от нового операционного блока.

♦ Образцы передачи данных нового операционного блока встраиваются в общесистемный ациклический граф, причем его ациклический характер во избежание взаимоблокировок должен сохраняться неизменным.

♦ Сообщения конструируются в расчете на достижение заданных данных.

♦ Выявляются внутренние данные состояния для расстановки контрольных точек и участия в сообщениях обновления, которые основные адресные пространства высылают резервным.

♦ Данные состояния разбиваются на сообщения, соответствующие формату применяемой сети.

♦ Определяются необходимые типы сообщений.

♦ На случай отказов составляется план переключения, который в целях обеспечения полноты состояния регулярно обновляется.

♦ Планируется непротиворечивость данных в случае переключения.

♦ Необходимо сделать так, чтобы отдельные этапы обработки проходили быстрее, чем продолжается один «такт» системы.

♦ Планируются протоколы совместного с другими операционными блоками использования данных и протоколы блокирования данных.

Выполнение этой последовательности действий под силу только группам, состоящим из опытных разработчиков. Тактика, которую мы рассмотрим в следующем разделе — «кодовые шаблоны», — призвана сделать этот процесс в большей степени повторяемым и снизить вероятность ошибок.

Представление процессов отражает сразу несколько тактик реализации готовности — в частности, «повторную синхронизацию состояния», «затенение», «активное резервирование» и «снятие с эксплуатации».




Поделиться с друзьями:


Дата добавления: 2015-04-25; Просмотров: 676; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.