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

ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА

УДК 681.3

Д. Б. Борзов, Б. И. Аль-Мараят, А. П. Типикин

Курский государственный технический университет

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

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

В связи с началом освоения отказоустойчивых мультикомпьютеров и кластеров высокой готовности повышаются требования к скорости выполнения процедур планирования размещения задач [1—4]. Быстрое восстановление правильности функционирования системы путем реконфигурации ее структуры с отключением неисправного процессора и заменой его резервным, расположенным обычно вне поля обрабатывающих процессоров, приводит к существенному изменению конфигурации связей между ними и образованию длинных маршрутов передачи данных. Они могут быть уменьшены путем оперативного переразмещения задач.

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

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

Подмножество задач, запланированных к обработке в базовом блоке, описывается графом взаимодействия задач

G=<X,E>, где X =

х,

i.i

2.1

1.2

2.2

Xq.1 Xq.1

Xn.1 Xn.2

1.k

2.k

q.k

n.k

X

2.n

X

q. n

... Xn

множество вершин графа О, вершины Хф е X которого соответствуют задачам, а дуги связей между ними е^ е Е при /, ] =

М =

Ш;,

N х N

Базовый блок будем представлять топологической моделью в виде графа H=<P,V>, где

>1,1 P1,2 - P1, n Pia p2,2 ••• Pi,n

P =

pn1 pn,2

Pn„

множество идентификаторов процессорных модулей базового блока, организованных в матрицу |Р|пхп, где |р| = N = п2 — число процессорных модулей базового блока, V- множество

межмодульных связей, задаваемых матрицей смежности

N х N

размером n2 х n2 .

Размещение пакета программ (задач), описываемых графом О (1), в параллельной системе (ПС) может быть аналитически описано отображением

ßs =

•4.1 Ч.2

s2.1 л2.2

Xo Xo

лп.1 лП.2

... Xo ... X о

s1.k s1.n

... Xp ... X с<

П.к

ъn.k

A2.n

Xsq.1 Xsq.1 ... Xsq.k Xs

q.n

P1,1 P1,2 - P1, k - P1, n

p2,1 P2,2 - P2,k - P2,n

Pq,1 Pq,2 - Pq, k - P

q,n

Pn,1 Pn,2 - Pn, k - Pnv

где ^ = 1,N!, к = 1,п, я = 1,п.

Здесь £ — это номер очередной перестановки задач ^к} по процессорным модулям \-Pqk} , соответствующий £ -му варианту размещения. Мощность множества \ = {р^} всевозможных отображений (2) равна числу всевозможных перестановок задач {Хяк} в матрице X : \\ = N!. Для описания множества длин кратчайших маршрутов передачи данных в пределах базового блока введем матрицу минимальных расстояний (ММР) Б =|| х N, N = п2 = |р|, которую можно построить по матрице смежности.

1. n

Акселератор планирования размещения задач в кластерных вычислительных системах 31

Пусть Y — множество всевозможных отображений вида (2). Тогда задачу размещения можно сформулировать как поиск такого отображения в что

V = Т {pm^ {

где Гр^ (pab, Px y) — коммутационная задержка при передаче данных между процессорными модулями pa ь и px y, соответствующая отображению Ps и вычисляемая как произведение

TPS

где i = (a -1) • n + b и j = (x -1) • n + y,

pnax {Tps

оценка величины коммуникационной задержки в s-м варианте размещения.

Для поиска субоптимального варианта размещения в , удовлетворяющего критерию (3), первоначально необходимо вычислить недостижимую минимальную оценку размещения Tinf (гипотетический минимум коммуникационной задержки) при допущении, что топологии графов G и H тождественны. При вычислении нижней оценки будем назначать дуги графа G с наибольшим весом mij на самые короткие маршруты в графе H, не обращая внимания на

ограничения, накладываемые фактическими связями между задачами в графе G [5].

На первом этапе составляются две матрицы: обмена информацией между задачами (МОИ) и кратчайших маршрутов (ММР) между процессорами в коммуникационной среде базового блока, вычисляются гипотетический минимум коммуникационной задержки Tinf и коэффициент эффективности исходного произвольного размещения задач пн, а также по порогу эффективности цн < 2 принимается решение о целесообразности инициализации процедуры поиска субоптимального размещения. Под коэффициентом эффективности перестановок n = T / Tinf понимается отношение реально полученной величины задержки (5) к гипотетической Tinf . На втором этапе выполняются шаги целенаправленных перестановок столбцов

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

На основе описанного выше метода разработаны алгоритмы, структурные и функциональные схемы микропроцессорного акселератора планирования размещения (АПР) с двухуровневой организацией (см. рисунок).

На рисунке приняты следующие обозначения: МП — микропроцессор, ОП - оперативная память, КПДП — контроллер прямого доступа в память, Прпорт — параллельный порт, НЖМД — накопитель на жестком магнитном диске, Ппорт — последовательный порт, MUX — мультиплексор, БУМК — блок умножения матрично-конвейерный, MAX — блок сравнения и нахождения максимума, УУ — устройство управления, АВПКЗ — акселератор вычисления показателя коммуникационной задержки.

На верхнем программном уровне выполняется перестановка строк и столбцов в матрице МОИ, анализ отношения п достигнутого минимаксного значения (3) к гипотетической минимально возможной величине Tinf и принятие решения о целесообразности следующего шага перестановки. На аппаратном уровне в блоке АВПКЗ, построенном в виде пятиступенчатого

конвейерного вычислительного устройства, содержащего трехступенчатый матрично-конвейерный блок умножения БУМК и рекуррентный блок выделения максимума МАХ, вычисляется оценка величины коммуникационной задержки (5).

Выполнено программное моделирование алгоритма функционирования АПР применительно к ПС с матричной топологией размерностью 8 х 8 . В результате моделирования были получены зависимости числа необходимых перестановок Q, степени снижения коммутационной задержки 5 и коэффициента эффективности п от эффективности начального размещения

Пн = Тн / ТМ (см. таблицу).

Пн 3 4 5 6 7 8

При Пп < 2 0 159 714 556 378 186 708

5 1.5 2 2.50 3.00 3.64 4.17

При Пп = 1 51884 51468 51334 51370 50544 51322

5 1.78 2.47 2.98 3.70 4.17 4.94

П 1.68 1.62 1.68 1.62 1.68 1.62

Приемлемым вариантом организации поиска субоптимального размещения является использование порогов пн < Пп = 2 и п< Пп = 2. Такой подход позволяет значительно сократить время его поиска в среднем до Q = 160—700 перестановок и снизить величину коммуни-

Акселератор планирования размещения задач в кластерных вычислительных системах 33

кационной задержки в среднем в 1,5—4 раза. Причем потери выигрыша в снижении коммуникационной задержки по сравнению с гипотетически наилучшими результатами, возможными при пп = 1, не превышают 16—19%. Число тактов работы АПР при размещении одинакового числа вершин |Х| по сравнению с методом ветвей и границ [5] снизилось примерно в

100 раз. Затраты времени на поиск субоптимального варианта размещения, возрастающие с увеличением числа связей и задач в графе G, увеличиваются не экспоненциально, как в [5], а примерно линейно.

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

список литературы

1. Гергель А.В., Виноградов Р.В. Оценка сложности коммуникационных операций в кластерных вычислительных системах // Материалы второго Международного научно-практического семинара „Высокопроизводительные параллельные вычисления на кластерных системах". Н. Новгород, 2002. C . 3—77.

2. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. СПб.: БХВ- Петербург, 2002. 608 с.

3. Tanenbaum A.S. Distributed Operation Systems. 1st edition / Prentice-Hall Engeneering / Science/Mathematics. 1994. 648 р.

4. Корнеев В.В. Параллельные вычислительные системы / В.В. Корнеев. М.: Нолидж, 1999. 340 с.

5. Борзов Д.Б., Зотов И.В., Титов В.С. О субоптимальном размещении процессов и данных в кольцевых сетях // Изв. вузов. Приборостроение. 2003. Т. 46, № 11. С. 48—54.

Рекомендована кафедрой Поступила в редакцию

вычислительной техники 20.09.07