Способ переразмещения подпрограмм в отказоустойчивых мультикомпьютерах

СПОСОБ ПЕРЕРАЗМЕЩЕНИЯ ПОДПРОГРАММ В ОТКАЗОУСТОЙЧИВЫХ МУЛЬТИКОМПЬЮТЕРАХ

Д.Б. Борзов, Ю.П. Гнездилова, Д.В. Колмыков, О.В. Воробьева

Аннотация. Обоснована необходимость перераз-мещения программ в мультикомпьютерах после отказа одного из процессоров. Предложены способ перераз-мещения подпрограмм в отказоустойчивых мультикомпьютерах и алгоритм для их быстрого переразмещения. Предложены направления для дальнейших исследований.

Ключевые слова: подпрограмма, мультикомпьютеры, алгоритм, процессор.

В настоящее время все большее распространение получают отказоустойчивые мультикомпьютеры [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.

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

а.У

д.п