СПОСОБ ПЕРЕРАЗМЕЩЕНИЯ ПОДПРОГРАММ В ОТКАЗОУСТОЙЧИВЫХ МУЛЬТИКОМПЬЮТЕРАХ
Д.Б. Борзов, Ю.П. Гнездилова, Д.В. Колмыков, О.В. Воробьева
Аннотация. Обоснована необходимость перераз-мещения программ в мультикомпьютерах после отказа одного из процессоров. Предложены способ перераз-мещения подпрограмм в отказоустойчивых мультикомпьютерах и алгоритм для их быстрого переразмещения. Предложены направления для дальнейших исследований.
Ключевые слова: подпрограмма, мультикомпьютеры, алгоритм, процессор.
В настоящее время все большее распространение получают отказоустойчивые мультикомпьютеры [1]. В случае отказа одного из процессоров необходимо быстрое восстановление правильности его функционирования путем реконфигурации структуры с отключением неисправного процессора и заменой его резервным, расположенным обычно вне поля обрабатывающих процессоров. Однако это приводит к существенному изменению конфигурации связей между процессорами и образованию длинных маршрутов передачи данных. В результате происходит значительное изменение топологии многопроцессорной системы [2] и требуется переразмещение назначенных подпрограмм с учетом отказов с заменой отказавшего процессора резервным. В то же время процедуры размещения задач являются комбинаторными, имеют большую вычислительную сложность и поэтому могут привести к существенному
увеличению времени восстановления и снижению коэффициента готовности системы [3]. Работа является продолжением исследований, начатых в [4,5]. В данной работе предлагается методика переразмещения подпрограмм в отказоустойчивых мультикомпьютерах.
Множество реализуемых в мультикомпьютере подпрограмм описывается графом взаимодействия задач ^ = ( X, Е), где X - множество вершин, соответствующих отдельным подпрограммам, а Е - множество дуг или связей между ними. Множество вершин X упорядочим в виде матрицы в соответствии с топологической структурой мультикомпютера:
X =
*1.1 х1.2
х2.1 х2.2
xq.1 xq.1
х1и
х2и
^q.V
х2.1
^q.n
хп.1 хп.2 ... хп.Ь ... хп.
Дуги графа О взвешены целочисленными значениями, определяющими объём данных (в байтах), передаваемых между соответствующими задачами. Граф О дополнительно опишем матрицей обмена информацией
х
1.П
(МОИ) М = Ш,-,- , где N = п = X, Шц - объем
II УІІNxN 1 1 /]
передаваемых данных между /-м и ]-м процессорным модулем.
Мультикомпьютер, в свою очередь, будем описывать топологической моделью в виде графа н = ( Р1,к) с множеством вершин Р1, соответствующих процессорным модулям, и множеством ребер V, соответствующих межмодульным связям. Разобьём множество Р1 на два непересекающихся подмножества: Р1 = Р и Ь , где Р - множество основных процессоров, а Ь - множество резервных процессоров. Идентификаторы процессоров множества Р упорядочим в виде матрицы Р = р.. . Множество резерва Ь представим в
II У ПпХп
виде матрицы ь = IЫ! ■
II /] IІNxN
С учётом введённого представления множество Р1 в общем случае будет иметь следующий вид (см. также рисунок 1):
Р1.111.1 р1.2 11.2 кр1и 11ю---Р1п 11п
Р2.112.1 р2.2 р2.2-р2.и12.»-р2.п 12.п
TP = mYn і max lTb( РаЬ, px, y )j
pq.1 /q.1 pq.2 /q.2 ■■■pq.v/q.Vpq.n/q.n pn.1 /n.1 pn.2 /n.2 ■■■pn.v/n.v ■pn.n/n.n
где v = 1, n , q = 1, n.
(1)
Pl
A P2 І2
rm
Д У ДеУ1
где Тд( ра у, рх у) - коммутационная задержка,
определяемая временем обработки принятых и/или подготовки пакета передаваемых данных между процессорными модулями ра ь и рх у, соответствующих
отображению Д и вычисляемая по формуле Тд( ра,Ь, рх,у )= Л/. •Ш/] .
В случае работоспособности мультиконтроллера (отказы отсутствуют) размещение пакета программ (задач), описываемых графом G, может быть описано отображением Д5 = X5 ®Р, где ^ = 1,N!, к = 1,п,
q = 1, п. Само размещение может быть выполнено,
например, с использованием методики [4, 5].
Например, для двухпроцессорного мультикомпьютера в случае безотказной работы и с учетом резервной матрицы Ь, матрица ММР выглядит так, как показано на рисунке 2.
D=
Pз /з P4 /4
Рисунок 1 - Матричная организация мультикомпьютера с резервными модулями
Размещение пакета подпрограмм, описываемых графом G, в мультикомпьютере может быть аналитически описано отображением fis = Xs ® P, где s - номер варианта размещения задач {xqk} по процессорным модулям {Pqvj , s = 1,N!. Мощность множества всевозможных отображений Y={Ps} равна числу перестановок номеров задач {xqvj в матрице X:
|Y| = N!. Для описания множества длин dj кратчайших маршрутов передачи данных введем матрицу минимальных расстояний (ММР) D = d-l , которую
II J\\NxN
можно построить по матрице смежности, соответствующую графу G .
Пусть Y - множество всевозможных отображений вида Ps. Тогда задачу размещения [4, 5] можно сфор-
*
мулировать как поиск такого отображения p Є Y, что
0 2 13
2 0 3 1 13 0 2
3 12 0
Рисунок 2 - Матрица ММР при безотказной работе мультикомпьютер а
В случае отказа, например, процессора ра р
( а = 1, п, р = 1, п) размещение задач, описываемых графом G, может быть описано отображением
Xs ® Pl =
В данном случае при отказе процессорного модуля Р1 2 он оперативно замещается резервным процессором /12- Т акая замена ведет к изменению значений в
ММР. При этом изменяется матричная организация мультикомпьютера, которая будет выглядеть так, как показано на рис. 3, а матрица ММР - на рис. 4.
xs s1.1 x s2.1 xs s1.2 xP s2.2 ..xs s1.v ..x_ s2.v ••xs s1.n ..x. s2.n £ M .n .n Ь> =>
p2.P2.1 p2.2 ^.2 ■ .n .n b =>
xs •^q.l xs , •^q.l ..x„ *q.v ••xs ^q.n pq .2q .2q .q •Pq.v Uq.V'Pq.nlq.n
xs sn.1 x? „ sn.2 ••xs *n.v ••xs Jn.n Рп 1/п. 1 Рп.2 /п.2 ■ 'Pn.vVn.V "pn.n /n.n
Pl /1
P2
Р3 /3 Р4 /4
Рисунок 3 - Матричная организация мультикомпьютера с отказавшим модулем р12
0 2 14 2 0 3 1 13 0 2
4 2 3 0
Рисунок 4 - Матрица ММР при отказавшем модуле р1,2
D=
1Зб
Как следует из вышеизложенных и теоретических положений и анализа рис. 3 и рис. 4, в результате отказа процессорных модулей мультикомпьютера из-за перераспределения программ на резервные процессоры происходит значительное изменение топологии и увеличение длин кратчайших маршрутов, вследствие чего ухудшается качество размещения задач и, как следствие, увеличивается общее время выполнения программ. Следовательно, в случае использования систем высокой готовности, необходимо оперативное переразмещение ранее назначенных подпрограмм на мультикомпьютер-ную систему с новой топологической организацией.
Пусть матрица
г =
-д.1 ^д.1
объ-
^п.1 ^п.2 ^п.ь ^п.п)
единяет тэги, индицирующие исправность процессоров
а = 1, п , р = 1, п .
ша,р
с
если рд и неисправен;
0,еслир и исправен, Пусть
где
матрица
0 = <
1,1
2,1
0
0
1,2
2,2
0
0
1,п
2, п
0
п,1
0
п,2
0
содержит тэги, по-
казывающие исправность резервных процессоров /
і = 1, п , ] = 1, п . При этом
а, р
если 0 неисправен;
д ,и
0, если 0 исправен,
д ,и
а = 1, п , Д = 1, п.
Тогда рассматриваемый алгоритм будет включать следующие шаги.
1. Если "г » = 0, то конец. Иначе если 2^» = 1, то
1Ч,Ь = хд,и , 0Ч,» = ^ конец.
2. Если "0/ ] = 0 , то конец. Если 30. . = 1, то п.3.
3. Если 30№,ё = 0 (V = 1, п, § = 1, п ), то /д,ё = хд,у ,
0w,§ = 0і,] . Иначе п. 4.
4. Выдача сообщения о необходимости полной замены мультикомпьютера.
В мультикомпьютере Н кроме отдельных его процессорных модулей отказать могут также и его ребра V. В этом случае матрица процессоров может оставаться рабочей и значит, необходим поиск альтернативных путей обхода отказавшей связи. Для этого необходим поиск кратчайшего маршрута и возможно использование алгоритма Дейкстры Этот вопрос является предметом дальнейших исследований.
Список использованных источников
1 Зотов И.В. Организация и синтез микропрограммных мультимикроконтроллеров. / И.В. Зотов // Курск.: Изд-во «Курск», 1999. - 368 с.
2 Борзов Д.Б. и др. Метод оперативного переразмещения задач в отказоустойчивых логических мультиконтроллерах // Нейрокомпьютеры: разработка, применение. 2010, №1. - С. 29-33.
3 Корнеев В.В. Параллельные вычислительные системы. М.: Нолидж, 1999. 340 с.
4 Борзов Д.Б. Метод снижения коммуникационной задержки путем субоптимального размещения задач в матричных базовых блоках кластера // Телекоммуникации. 2008. №4. С. 21-25.
5 Борзов Д.Б., Типикин А.П. Метод ускорения выполнения процедуры планирования размещения задач в кластерных системах / Материалы девятого международного научнопрактического семинара «Практика и перспективы развития партнерства в сфере высшей школы» Книга 1. - Таганрог-Донецк. 2008. - С. 31-35.
Информация об авторах
Борзов Дмитрий Борисович, кандидат технических наук, доцент кафедры информационных и электротехнических систем и технологий ФГБОУ ВПО «Курская ГСХА».
Гнездилова Юлия Петровна, кандидат технических наук, доцент кафедры информационных и электротехнических систем и технологий ФГБОУ ВПО «Курская ГСХА».
Колмыков Денис Валерьевич, кандидат технических наук, доцент кафедры информационных и электротехнических систем и технологий ФГБОУ ВПО «Курская ГСХА».
Воробьева Ольга Валерьевна, кандидат технических наук, доцент кафедры информационных систем и информационного права Курского института социального образования (филиал) РГСУ.
г
г
г
1.1 1.2
1.и
1.п
2.1 2.2
2.и
2. п
2
2
а.У
д.п