15 апреля 2017г.
Для любого устройства, работающего в режиме реального времени крайне важными являются показатели отказоустойчивости. Отказ оборудования из состава системы реального времени может привести не только к потере данных, но и к невыполнению требований реального времени, что может самым негативным образом сказаться на безопасности эксплуатации объекта управления.
Способность вычислительной системы изменять свою структуру называется реконфигурируемостью. В случае отказа определенных ее элементов они должны быть автоматически детектированы и исключены из состава системы, а задачи и ресурсы перераспределены между исправными элементами.
В общем случае для проведения реконфигурации в составе системы необходимы два специальных модуля: модуль маршрутизации и модуль реконфигурации. Первый модуль хранит таблицу текущей топологии вычислительной системы и обрабатывает сигналы от модуля реконфигурации для ее изменения в случае отказа и ищет оптимальные маршруты связи между элементами. Второй же получает информацию об отказе того или иного элемента системы, анализирует ее относительно текущей конфигурации системы и вырабатывает новую оптимальную конфигурацию. Все отказы элементов системы можно разделить на два класса: отказ канала связи между элементами и отказ вычислительного элемента. Эти отказы различаются не только по функциональному признаку, но, прежде всего, по необходимой реакции реконфигуратора на них. Если отказ канала связи приводит к исключению его из конфигурации, то отказ элемента приводит к отключению как самого элемента, так и его каналов связи и удалению их из обновленной конфигурации.
Рассмотрим модель реконфигурации вычислительной системы, состоящей из n вычислительных элементов. Предполагается, что система должна выполнить задание, состоящее из q задач, и для некоторых задач допускается параллельное исполнение. Каждый вычислительный элемент либо выполняет i-ую задачу, либо находится в резерве. Все элементы вычислительной системы связаны друг с другом определенным образом и могут передавать результаты выполняемых задач между собой. Тогда текущую конфигурацию системы можно определить таблицей (см. Таблицу 1).
Таблица 1 – Таблица связей вычислительных элементов
ni/nj
|
1
|
2
|
3
|
4
|
…
|
N
|
1
|
0
|
1
|
2
|
3
|
…
|
n-1
|
2
|
n-1
|
0
|
1
|
2
|
…
|
n-2
|
3
|
n-2
|
n-1
|
0
|
1
|
…
|
n-3
|
4
|
n-3
|
n-2
|
n-1
|
0
|
…
|
n-4
|
…
|
…
|
…
|
…
|
…
|
…
|
…
|
n
|
1
|
2
|
3
|
4
|
…
|
0
|
Связь между каждым вычислительным элементом зададим в виде матрицы связей:
Следует отметить, что данный алгоритм использует пороговый критерий качества системы, т. е. конфигурация системы оптимизируется только при наличии факта отказа, а резервные элементы (как находившиеся в резерве, так и вновь введенные в систему, либо восстановившие свою работоспособность) подключаются только по достижении критического порога качества функционирования ВС.
Список литературы
1.
Зыль С. Проектирование, разработка и анализ программного обеспечения систем реального времени. – СПб.: БХВ-Петербург, 2010.
2.
Древс Ю.Г. Технические и программные средства систем реального времени. – М.: БИНОМ,2015.
3.
Тарасов А. Функциональная реконфигурация отказоустойчивых систем. – М.: Логос, 2012.