Борисенко Юлия Васильевна
Юго-Западный государственный университет, кафедра «Вычислительная техника»
Аспирант Borisenko Julia Vasilievvna South-West State University Graduate student E-Mail: [email protected]
Элементы и устройства вычислительной техники и систем управления
Акселератор переразмещения подпрограмм в отказоустойчивых
мультикомпьютерах
Reallocation routines in the accelerator fault tolerance multicomputers
Аннотация: В статье рассмотрена проблема отказов в мультипроцессорных системах, обоснована необходимость оперативной реакции на отказ в системах высокой готовности. Рассмотрены отказы процессоров и межпроцессорных связей, для которых предложены соответствующие аппаратные средства, показана временная и аппаратная сложность.
Abstract: The article deals with the problem of failures in multiprocessor systems, the necessity of rapid reaction to failures in the systems highly available. Considered failures of processors and interprocessor communications, which suggest appropriate hardware, see the timing and complexity of the hardware.
Ключевые слова: Мультипроцессорная систем; процессор; отказ; межпроцессорная связь; размещение; система высокой готовности.
Keywords: Multiprocessor system; processor; failure; interprocess communications; accommodation; high-availability systems.
***
В настоящее время все большее распространение получают отказоустойчивые мультикомпьютерные системы (ОМС) [1]. При этом к ним повышаются требования по быстродействию, и качеству решения задач. При использовании ОМС в системах высокой готовности (системы мониторинга, слежения за высокоскоростными предметами, бортовой аппаратуры авиации т.д.) в случае отказа в них процессора или межпроцессорной связи необходимо быстрое восстановление правильности функционирования. Возможна реконфигурация структуры с отключением неисправного процессора и заменой его резервным, расположенным обычно вне поля обрабатывающих процессоров либо поиска альтернативного маршрута пути обхода [2]. С целью уменьшения общего времени восстановления ОМС, необходимо многократно снизить затраты на замену отказавшего процессорного модуля резервным, последующие переразмещение подпрограмм и/или поиск маршрута обхода отказавшей межпроцессорной связи. Работа является продолжением исследований, начатых в [3,4]. Из анализа, проведенного в [3,4] следует необходимость разработки устройства, реализующее предложенные алгоритмы.
Формализованная постановка задачи отказоустойчивого переразмещения в мультикомпьютерных системах представлена в [3,4]. Исходная задача представляется в виде графа G = (X, Е), вершины XqV которого соответствуют задачам (подпрограммам), а дуги
е^ е Е связям между ними, которые передаются между подпрограммами и сведены в матрицу
смежности (МС) М =
да.
N х| Е\
где
N=1 *1-
Топология мультикомпьютера задается графом Н =(Р1, V}, где Р1 соответствует процессорным модулям, а V - межмодульным связям. Множество Р1 разбивается на два непересекающихся подмножества Р1 = Р ^ Ь , где {Р} - множество основных процессоров,
а {£} - множество резервных процессоров. Идентификаторы множества Р упорядочим в виде
матрицы Р = Ь =
Рг]
пхп
где п = |Р - Множество резерва Ь представим в виде матрицы
пхп
Размещение пакета подпрограмм, описываемых графом О, в мультикомпьютере может быть аналитически описано отображением:
( = ^ р =
К? ? хх х 2? ? 2 2 * * к « . ^ Ъ * * P1.1h.1P1.2h.2- Р2.\‘2.\Р2.2‘2.2- ■Pl.uh.u- ■Р2.и'2.и- ■Pl.nh.ti ■Р2.п‘2.п
х? X? , . sq.1 sq.1 .X? . sq.v ..X? sqn РЧ 1^ lPq.2tq.2- -Pq.ulq.u- •Pq.nl\.п
52 ч1 : 52 .X? . ?п.и ..X? ?п.п Рп іЬі lPn.2hi.2- -Pn.uhi.u- •Рп.п hi.ii
(1)
где ^ - номер варианта размещения задач {Хф} по процессорным модулям {р^}:
^ = 1, N!, символ ^ - это отображение одной из вершин графа О на один из процессоров Р. Мощность множества всевозможных отображений ¥ = {(? } равна числу перестановок задач
|XqU} в матрице X: |¥| = N!.
Пусть ¥ это множество всевозможных отображений вида (1), тогда задачу размещения
*
можно сформулировать как поиск такого отображения ( е¥, что
V = Т {^,5 {г(( Ра-Ь • рх- у )}|
(2)
где Тр (ра ь, рХ у ) - коммуникационная задержка, определяемая временем обработки принятых данных и/или подготовки пакета передаваемых данных между процессорными
*
модулями ра ь и рХ у, соответствующих отображению Р . При этом первоначально
вычисляется недостижимая минимальная оценка из предположения, что дуги графа О
назначаются без учета влияния топологии исходной подпрограммы. Она вычисляется как:
N
Т({ра,Ь-рх,у) 2 гі-г] • тг]
г =1, ] =1
(3)
В случае отказа процессора ра,р (а = 1, п, Р = 1, п), описываемых графом О или
межпроцессорной связи, применяется процедура отказоустойчивого переразмещения подробно изложенная в [4], основанная на целенаправленных поисковых перестановках строк и столбцов МС и сравнении полученной с помощью (1), (2) величины коммуникационной
задержки с , вычисленной на основе критерия (3).
Для решения поставленной задачи применен параллельный отказоустойчивый акселератор переразмещения подпрограмм, структурная схема которого приведена на рис. 1.
Рис. 1. Структурная организация акселератора отказоустойчивого переразмещения
Ведущая ЭВМ мультипроцессорной системы передает в акселератор планирования переразмещения подпрограмм (АПРП) исходные данные, необходимые для оперативной реакции системы на либо на отказ процессорного модуля системы, либо на отказ межпроцессорной связи, а именно: матрицу смежности, матрицу расстояний, матрицу исправности процессоров, матрицу работоспособности и занятости резервных процессоров и матрицу исправности межпроцессорных связей.
Акселератор планирования переразмещения состоит из двух независимых блоков: блока переразмещения отказавших процессорных модулей (БППОМ) и блока поиска кратчайшего маршрута (БПКМ) в случае отказа межпроцессорной связи. Такое разделение акселератора на индивидуальные блоки позволяет независимо реагировать на отказ внутреннего процессорного модуля и/или отказ межпроцессорной связи.
АПРП представляет собой аппаратный комплекс, на базе микропроцессорного контроллера и функционирует на основе алгоритмов планирования переразмещения, описанных в [3,4].
Результатом работы акселератора планирования размещения задач является файл конечной матрицы смежности, матрицы расстояний и матрицы исправности межпроцессорных связей, соответствующей найденному варианту размещения и/или кратчайшего маршрута обхода.
Для подключения блока АПРП к контроллеру используется порт параллельного интерфейса типа LPT (Line PrinTer). [5].
На рисунке 1 приняты следующие обозначения блоков и узлов: АПРП - акселератор планирования переразмещения подпрограмм; МП - микропроцессор; ОП - оперативная память; КПДП - контроллер прямого доступа в память; Ппорт - последовательный порт; Прпорт - параллельный порт; УУ - устройство управления; БИНОМ - блока переразмещения отказавших процессорных модулей; БПКМ - блока поиска кратчайшего маршрута; МО -
микрооперации; А - адрес.
МП контроллера работает в соответствии с программой, записанной в ОП и отслеживает работу системы высокой готовности. В случае возникновения отказа процессорного модуля мультипроцессорной системы, либо сбоя межпроцессорной связи соответствующие исходные данные передается в один из блоков.
В случае поступления через последовательный порт с управляющей ЭВМ сигнала об отказе процессорного модуля либо межпроцессорной связи соответствующий сигнал подается в контроллер и далее в соответствии с записанной в МП программой через параллельный порт поступает в специализированный мультиплексор MUX, который в зависимости от отказоустойчивой ситуации (отказал процессорный модуль либо межпроцессорная связь) передает необходимые для оперативной реакции данные либо в блок БППОМ либо в БПКМ.
Функциональная схема устройства оперативной замены отказавшего процессорного модуля резервным представлена на рисунке 2, а устройства поиска кратчайшего пути - на рисунке 4.
14
О i
27
□
P1
A1 15
A2
D O
we
О
36
OS — R
26
+1
2>
DC
e il +1
22
35
Rg
25
e i2 1
s
jl
1
s of
28
24
oe Z
A2
A1 O
D 16
we
0-
Rg
18
j2
+1
s
29
Л
©
A1
A2 O D 17
we
23
19
20
Рис. 2. Функциональная схема устройства оперативной замены отказавшего процессорного модуля
В ОЗУ 15 хранится матрица Р1 процессорных модулей и матрица Ь резервных процессоров, так как показано на рисунке 3.
0
1
1
1
0
1
1
Р1 к Р2 12
Р3 13 Р4 14
Рис. 3. Матричная организация мультикомпьютера
Нам рисунке 3 буквами р обозначены основные процессорные модули, а буквами I -резервные процессоры.
Работа устройства происходит следующим образом. В случае появления на входах] и г двоичных кодов происходит внештатная ситуация в системе логического управления (СЛУ), вызванная сбоем процессора. В этом случае необходима оперативная реакция системы на отказ, связанная с заменой отказавшего процессорного модуля резервным. Это происходит следующим образом.
Первоначально происходит подготовка к замене отказавшего процессора. Для этого импульс с выхода генератора 14 импульсов поступает на вход разрешения выдачи ОЗУ 16, а так как на адресных входах А1 и А2 присутствуют соответствующие коды, то значение с выхода ОЗУ 16 подается на первый вход элемента 19 сравнения, на втором входе которого присутствует код нуля с выхода регистра 18. В результате сравнения происходит анализ исправности процессора. В случае если результат сравнения положительный (процессор исправен), он должен быть отмечен как неисправный, поэтому единичный импульс со второго выхода элемента сравнения 19 подается на вход we разрешения записи ОЗУ 16. Поэтому единица с выхода регистра 34 поступает на вход данных Б ОЗУ 16 и заносит туда код единицы, как признак неисправности данного процессора.
Одновременно единичный потенциал с выхода элемента сравнения 19 подается на второй вход элемента 27 ИЛИ и счетный вход счетчика 23. Единица поступает на вход we разрешения записи ОЗУ 15, чем разрешает запись нулевого кода с выхода регистра 16, что означает признак неисправности процессора с данным адресом в матрице Р1.
Далее выполняется замена неисправного процессора резервным, что происходит следующим образом. Счетчики 22-25 выполняют роль соседних резервных процессоров для потенциального отказавшего.
При появлении единичного потенциала на выходе элемента 19 сравнения, он поступает на счетный вход счетчика 24 и увеличивает его значение по переднему фронту на единицу. Этот код поступает на вход А2 ОЗУ 17. Соответствующий код с выхода ОЗУ 17 подается на второй вход элемента 20 сравнения для сравнения с кодом нуля, поступающим с выхода регистра 18. В результате сравнения, если резервный процессор не занят, то единичный потенциал со второго выхода элемента 20 сравнения поступает на we вход ОЗУ 17 для единичного кода, означающего его занятость, в результате замены на отказавший процессор.
В случае занятости резервного процессора в следующих тактах выполняются аналогичные сравнения для определения свободного резервного процессора и фиксация свободного как занятого вместо основного отказавшего.
Появление сигнала переполнения на выходе переполнения счетчика 34 означает, что необходимость полной замены матрицы процессоров.
14
29
8
Я г
о-
о-
1-р і сГ 1
§ ] +1 сГ
о—
ном
18
се мс
А1 О
15
А2
§ит
19
тт
20
~Л1
е
+1 сГ
се temp
Э О 16
П-
27
28
тт
А
га
е
Рис. 4. Функциональная схема устройства поиска кратчайшего пути
Работа устройства, представленного на рисунке 4 происходит следующим образом.
В МС 15 хранится матрица смежности исходной задачи, в регистре 27 хранится код ЕБЕЕ, как максимально возможное для данной применяемой разрядности. В счетчике 22 и 23 установлен код адреса, хранящийся в ОЗУ 15, что фактически является координатами отказавшей межпроцессорной связи.
Так входах А1 и А2 присутствуют коды отказавшей процессорной связи, то соответствующий код из ОЗУ 15 поступает на второй вход сумматора 19 и на вход блока нахождения минимума 20. В результате, в сумматоре 19 находится сумма кодов, которая поступает на вход блока нахождения минимума 20. В результате, полученное значение поступает на Э-вход ОЗУ 16. В это время с разрешающего га выхода блока нахождения минимума 20 поступил единичный импульс на вход счетчика 25 и увеличил его содержимое на единицу, которое поступает на А вход ОЗУ 16. В результате, значение из ОЗУ 16 поступает на вход блока нахождения минимума 21, на другом входе которого присутствует код БЕБЕ. В результате сравнения минимальный код заносится в регистр 27.
Появление единичного импульса на выходе переполнения счетчика 26 означает, что первый цикл поиска кратчайшего пути закончен, и полученный результат сохраняется в ОЗУ 17, как первое «звено» в искомом кратчайшем пути.
Аналогично продолжается до тех пор, пока на выходе переполнения счетчика 22 не появится единичный импульс, который означает, что все коды в ОЗУ 15 исследованы и в ОЗУ 17 записаны все кратчайшие пути для исходного графа О. Соответственно, коды длин кратчайших путей могут быть поданы на ВУУ для анализа через Э-выход ОЗУ 17.
Для анализа производительности предложенного акселератора воспользуемся серией 1533 интегральных микросхем. При этом при подсчете быстродействия и производительности учитывались временные характеристики отдельных внутренних элементов предложенного устройства (таблица 1) согласно серии микросхем ТТЛ 1533 [6].
Таблица 1
Временные характеристики элементов микросхем серии 1533_______________
Тип элемента ^зд.р. , нс
ИЛИ 12
Сумматор 36
Элемент сравнения 18
ЯБ-триггер 20
Регистр 21
Счетчик 18
ОЗУ 30
На основе функциональной схемы (рис. 2) подсчитано количество использованных внутренних микросхем, представленных в табл. 2.
Таблица 2
Количество микросхем устройства оперативной замены отказавшего модуля
Тип элемента Количество
ИЛИ 1
Сумматор 1
Элемент сравнения 2
ЯБ-триггер 1
Регистр 2
Счетчик 5
ОЗУ 3
На основе данных таблиц 1 и 2 можно подсчитаны временные характеристики предложенного устройства, на основе чего была составлена временная диаграмма зависимости скорости работы устройства от размерности задачи (рис. 5).
1;, НС 140000000
Скорость работы устройства
120000000 100000000 Е 80000000 £ 60000000 40000000 20000000 о
11 829888
/
/
/
/
652 1056 3012» ■16430 4Д
2x2 3x3 5x5 7x7
Размерность матрицы процессоров
9x9
Рис. 5. Зависимость скорости работы устройства от размерности матрицы процессоров
Из анализа представленной диаграммы можно сделать вывод, что при относительно небольшой размерности матрицы процессоров (3 х 3 - 5 х 5) время работы устройства составляет несколько нс. С ростом размерности количество вариантов обхода резко увеличивается, что приводит к росту времени работы устройства. Отсюда в свою очередь можно сделать вывод о целесообразности применения предложенного устройства для систем
высокой готовности, в которых размерность матрицы процессоров от 50 X 50 и выше, в которых применение программных средств неприемлемо из-за большого времени поиска.
Для оценки аппаратной сложности устройства использовалось представление внутренних модулей устройства в виде набора эквивалентных вентилей (под эквивалентным вентилем здесь будем понимать логический элемент И) [6], отраженных в таблице 3
Таблица 3
Количество внутренних элементов устройства
Тип элемента Количество Количество эквивалентных вентилей
ИЛИ 1 1
Сумматор 1 16
Элемент сравнения 2 10
ЯБ-триггер 1 2
Регистр 2 32
Счетчик 5 17
ОЗУ 3 16 на 1 ячейку
В результате расчетов был получен график зависимость роста аппаратной сложности размерности матрицы процессоров (рис. 6).
>л. II Рост аппаратной сложности
12000
3x3 5x5 7Х7 9x9 10x10 15x15
Размер матрицы процессоров
Рис. 6. Зависимость роста аппаратной сложности от размерности матрицы процессоров
Из представлено диаграммы можно сделать вывод об увеличении аппаратной сложности устройства в зависимости от размерности матрицы процессоров. Из рис. 6 видно, что при относительно большой размерности матрицы процессоров (9 X 9 и выше)
необходимо 10988 элементарных вентилей И, что при современном уровне развития технологий является небольшим количеством.
Из анализа рисунков 5 и 6 можно сделать вывод о целесообразности применения предложенного метода и разработанной процедуры отказоустойчивого переразмещения в мультикомпьютерных системах программным способом для относительно небольших размерностей матрицы процессоров (в пределах 10). Однако с увеличением размерности задачи, например в случае использования систем высокой готовности, (размерность в пределах 50-100), целесообразно использования предложенных акселераторов.
ЛИТЕРАТУРА
1. Воеводин В.В., Воеводин Вл.В., Параллельные вычисления // БХВ- Петербург. - Санкт-Петербург, 2002.- 608 с.
2. Зотов И.В. Организация и синтез микропрограммных мультимикроконтроллеров. / И.В. Зотов // Курск.: Изд-во «Курск», 1999. - 368 с.
3. Соколова, Ю.В. Переразмещение подпрограмм в отказоустойчивых мультипроцессорных системах [Текст] / Ю.В. Соколова, Д.Б. Борзов, В.В. Минайлов // Известия вузов. Приборостроение. - Санкт-Петербург, - 2013, -№6, С. 39-44.
4. Борисенко, Ю.В. Метод оперативного переразмещения подпрограмм в мультиконтроллерах с учётом отказов линков [Текст] / Ю.В. Борисенко, Д.Б. Борзов, А.С. Сизов // Известия ЮЗГУ, - 2012, - №6(45), С. 50-54.
5. Гук М. Аппаратные интерфейсы ПК. - СПб.: Питер, 2003.- 528 с.
6. Петровский И.И. и др. Логические ИС КР1533, КР1554: Справочник в 2-х ч. -М.: ТОО «Бином», 1993.
Рецензент: А.В. Кониченко, д.т.н., с.н.с., ГНС НИЦ (г. Курск) ФГУП «18 ЦНИИ» МО
РФ