2010 Математические основы информатики и программирования №4(10)
УДК 004.032.26(06)
О ВЛОЖЕНИИ ГРАФОВ ПАРАЛЛЕЛЬНЫХ ПРОГРАММ В ГРАФЫ РАСПРЕДЕЛЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ РЕКУРРЕНТНЫМИ НЕЙРОННЫМИ СЕТЯМИ
М. С. Тарков
Институт физики полупроводников им. А. В. Ржанова СО РАН, г. Новосибирск, Россия
E-mail: [email protected]
Сформулирована задача вложения графов параллельных программ в графы распределённых вычислительных систем рекуррентными нейронными сетями. Экспериментально получены значения параметров, обеспечивающие отсутствие некорректных решений. Благодаря введению в функцию Ляпунова коэффициента штрафа для рёбер графа программы, не совпадающих с рёбрами графа ВС, при вложении «линейки» в двумерный тор получены оптимальные решения. Для увеличения вероятности оптимальных вложений предложен метод расщепления вложения, суть которого заключается в приведении матрицы решения к блочно-диа-гональному виду. Для исключения некорректных решений при вложении линейки в трехмерный тор использована рекуррентная сеть Вана, обладающая более быстрой сходимостью, чем сеть Хопфилда.
Ключевые слова: вложение, графы параллельных программ, распределенные вычислительные системы, нейрон, сеть Хопфилда, рекуррентная сеть Вана.
Введение
Распределённая вычислительная система (ВС) [1-5] представляет собой множество элементарных машин (ЭМ), связанных сетью, программно управляемой из этих машин. Каждая элементарная машина (ЭМ) включает вычислительный модуль (ВМ) и системное устройство (СУ) (маршрутизатор сообщений). Системное устройство функционирует под управлением ВМ и имеет входные и выходные полюсы, связанные соответственно с выходными и входными полюсами соседних ЭМ. Структура ВС описывается графом Gs(Vs, Es), где Vs — множество ЭМ и Es —множество связей между ЭМ. Для максимальной эффективности информационных взаимодействий современные высокопроизводительные ВС используют регулярные графы Gs(Vs, Es) межмашинных соединений («гиперкуб», «двумерный тор», «трёхмерный тор») [1-5].
Гиперкубическая структура описывается графом, известным как m-мерный булевский куб с числом вершин n = 2m. Тороидальные структуры представляют собой m-мерные евклидовы решетки с замкнутыми границами. Группа автоморфизмов Em
m
такой структуры есть прямое произведение циклических подгрупп CNk: Em = CNk,
k=l
где Nk — порядок подгруппы C^k; — символ прямого произведения. При m =2 получаем двумерный тор (2Б-тор) (рис. 1), при m = 3 — 3Б-тор.
Для распределённых ВС граф Gp(Vp,Ep) параллельной программы обычно определяется как множество Vp ветвей программы (виртуальных элементарных машин), которые взаимодействуют друг с другом по принципу «точка — точка» посредством передачи сообщений по логическим (виртуальным) каналам (одно- и двунаправленным) множества Ep С Vp xVp. Для большинства параллельных прикладных программ харак-
Рис. 1. Пример 2Б-тора
терны упорядоченные во времени и регулярные в пространстве схемы взаимодействий между обрабатывающими модулями (линейка, кольцо, решётка и др.) (рис. 2) [1,2].
А_... Линейка
Кольцо
-у
Решетка
Рис. 2. Типовые графы параллельных программ
В работе рассматривается задача вложения графа параллельной программы Ср(ур,Ер) в граф распределённой вычислительной системы С3(У3,Е3), п = \УР\ = = \У3\ —число ветвей параллельной программы (число ЭМ ВС). Цель вложения: взаимно однозначно отобразить вершины графа программы Ор в вершины графа системы 03 так, чтобы при этом ребра Ор совпали с ребрами 03 (установить изоморфизм графа программы с остовным подграфом графа ВС).
Массовый параллелизм обработки информации в нейронных сетях позволяет рассматривать их как перспективное высокопроизводительное и надёжное средство для решения сложных, в том числе и оптимизационных, задач. Наибольший интерес для решения задач дискретной оптимизации представляют рекуррентные нейронные сети [6-11]. Модель глобально сходящихся рекуррентных нейронных сетей Хопфилда хорошо согласуется с парадигмой самостабилизации Дейкстры [12]. Это означает, что реализуемые сетями Хопфилда вложения графов параллельных программ в графы распределённых вычислительных систем являются самостабилизирующимися. Важность использования самостабилизирующихся вложений обусловлена возможностью
нарушения регулярности графов ВС вследствие выхода из строя элементарных машин и межмашинных соединений.
1. Сеть Хопфилда для задачи вложения
Рассмотрим матрицу нейронов V размером п х п, где каждая строка матрицы соответствует ветви параллельной программы, каждый столбец матрицы соответствует ЭМ. Каждая строка и каждый столбец матрицы содержат один и только один ненулевой элемент, равный единице, остальные элементы равны нулю. Энергия соответствующей нейронной сети Хопфилда описывается функцией Ляпунова
Е = С
2
Е Е^- -1 + Е Е%г- 1
+ 0 ££ 2 x
Е Е vxi vyj diJ.
уеМЬр(х) j=i
Здесь vxi — состояние нейрона строки х и столбца г матрицы V; С и О — параметры функции Ляпунова. В квадратных скобках минимум первого слагаемого соответствует наличию одного единичного элемента в каждой строке матрицы V, а минимум второго означает наличие одного единичного элемента в каждом столбце этой матрицы. Минимум суммы первых двух слагаемых обеспечивается в случае, когда каждая строка и каждый столбец матрицы содержат один и только один элемент, равный 1, остальные элементы — нули (корректное решение). Минимум третьего слагаемого обеспечивает минимум суммы расстояний между соседними ветвями параллельной программы при их размещении на графе системы. Здесь dij — расстояние между вершинами графа ВС, содержащими соседние ветви параллельной программы («растяжение» ребра графа программы на графе ВС); ЫЪр(х) —множество вершин, смежных с вершиной х на графе программы.
Динамика сети Хопфилда с непрерывными состояниями и непрерывным временем [6], минимизирующей функцию (1), описывается системой уравнений
дuxi
~дГ
дЕ
дvxi'
где и^ — активация нейрона с индексами х,г = 1,...,п; vxi = (1 + ехр(—ви^))-1 — состояние (выходной сигнал) нейрона; в — параметр функции активации. Из (1) и (2) получаем
дuxг
—с Е Vxj + Е Vyi — 2 — ^ Е Е Vyj d
уеШр^) j=i
г?-
Разностный вариант дифференциального уравнения (3) имеет вид
и
t+l
Uxi /Д
HEvxj + Е Vyi — 2 + о Е Е Vyj dij
j у / уЕМЬр^) j=i
(3)
где — величина временного шага. Начальные значения uXi, х, г = 1,... , п, задаются случайным образом.
Выбор параметров в, Дt, С, О [6-11] определяет качество решения V системы уравнений (4). В [9] получена формула взаимосвязи между параметрами С и О, которая для задачи (1)-(4) приобретает вид
2
2
С « 100 • О.
(5)
Из (4) и (5) следует, что изменения параметров ДЬ и О влияют на решение системы уравнений (4) одинаково. Поэтому положим ДЬ = 1 и получим уравнение
1 = <г - с (Е ^ + Е - 2) - о Е Е Ууз1г]. (6)
\ 1 у / уе№р(х) 1=г
Положим в = 0,1 (это значение выбрано в работе [10]) и будем подбирать О таким образом, чтобы обеспечить отсутствие некорректных решений. Следует отметить, что в экспериментах зачастую некорректные решения получаются, если при достижении заданного максимального числа итераций, например Ьтах = 10000, не достигнуто условие сходимости Е !мХг — иХХ-11 < е при заданном е = 0,01.
хл
2. Вложение сетью Хопфилда
Качество вложения будем оценивать числом совпадений рёбер графа программы с ребрами графа ВС. Это число назовем рангом вложения. Ранг вложения является приближённой оценкой качества вложения, поскольку одному и тому же рангу могут соответствовать вложения с различными растяжениями рёбер графа программы на графе системы. Однако максимальное значение ранга, равное числу рёбер графа программы, соответствует оптимальному вложению и минимуму суммы
= ЕЕ ^ Е^хг^у1-в (1). Цель исследования — определить значения парах г у^МЬр(х) 1=г
метров алгоритма вложения, при которых достигается максимум вероятности оптимального вложения. В качестве примера рассмотрим вложение графа программы типа «линейка» в 2В-тор. Максимальное значение ранга вложения для линейки с п вершинами равно п — 1.
Для экспериментального исследования качества вложения использованы гистограммы распределения частоты ранга вложения при заданном числе экспериментов, равном 100. Выполнены эксперименты по вложению графа программы типа «линейка» в граф системы типа «двумерный тор» при числе вершин п = I2, I Е {3, 4}, где I — порядок циклической подгруппы.
При О ^ 8 получены корректные решения для п = 9 (рис. 3,а) и 16 (рис. 3,б). Но, как видно из рис.3, для О = 8 количество решений с оптимальным вложением, соответствующим максимуму ранга вложения, мало.
о
53
® 60-
40-
д
40'
30'
20-
10'
д
л
2 4
6 8 Ранг
0 1 I I -I- 1111 Т^-Т^-I I I
2 4 6 8 10 12 14
Ранг
Рис. 3. Гистограммы вложений для нейронной сети (6)
80
50-
б
а
20
Для повышения частоты оптимальных решений в уравнении (6) величины рассто-
яний dj заменим величинами
dij , dij 1 , p • dij, dij > 1,
(7)
где р — коэффициент штрафа за превышение расстоянием величины 1, то есть за несовпадение ребра графа программы с ребром графа системы. Получаем уравнение
u
t+i
uxi- с I E vxj + E vyi- 2 - D Е Е vyj cij.
j y ] yeNbp(x) j=i
При р = п для вышеописанных вложений получены гистограммы для п = 9 (рис. 4,а) и 16 (рис. 4,б), свидетельствующие о заметном улучшении качества вложения, но для п = 16 максимум частоты приходится на субоптимальные решения с рангом 13.
100-
го 80т
60-
20-
—I-1-1-1-1-1-
2 4 6
I
8
Ранг
60'
го т
40■
А
2 4 6 8 10 12 14
Ранг
Рис. 4. Гистограммы вложений для нейронной сети (8)
б
а
40
0
0
3. Метод расщепления
С целью уменьшения числа локальных экстремумов функции (1) произведём разбиение множества {1, 2,... ,n} значений индексов x и i переменных vxi на 1 < K < n подмножеств Ik, к = 1, 2,... ,K, таких, что множества вершин с индексами из одного и того же Ik образуют связные подграфы как на графе Gp параллельной программы, так и на графе Gs вычислительной системы. В рассматриваемой здесь задаче возьмем Ik = {(k — 1)q + 1,... , k• q}, q = n/K, и индексы x G Ik будем отображать только в множество индексов Ik, то есть приведём матрицу решений v к блочно-диагональному виду. Тогда с учетом (7) функция Ляпунова (1) приобретает следующий вид:
C к
E = C Е 2 k=i
и динамика сети Хопфилда описывается уравнением
uX+1 = uXi— C Е vxj + Е vyi— 2 — D Е Е vyj сг],
\jeik yeik J yeNbp(x) j=i
vxi = (1 + exp(—ßuxi))-1, x,i G Ik, к = 1, 2,... ,K.
E E vxj-1 + E E vyi- 1
xeik \jeik
ieik \yeik
D k
+ ^ E E E E Evx
z k=i xeik ieik yeNbp(x) j=i
2
2
При этом ухг = 0 для х Е I} ,1/1} ,к = 1, 2 ,...,п. При использовании этого подхода, который мы назовем методом расщепления, для линейки с числом вершин п =16 при К = 2 получена гистограмма вложения в 2В-тор (рис. 5). Сравнивая рис. 4, б и рис. 5, убеждаемся в том, что использование метода расщепления позволило существенно повысить частоту оптимальных вложений. Увеличение параметра О до значения О = 32 приводит к дополнительному росту частоты оптимальных вложений (рис. 6).
80'
га
ЕЗ
га 60' т
40'
Д|
4 6 8 10 12 14
Ранг
Рис. 5. Гистограмма вложений для нейронной сети (9) п = 16, К = 2, Б = 8
100
га н о
(3 го т
80
60
40
20
10
12
14
Ранг
Рис. 6. Гистограмма вложений для нейронной сети (9): п = 16, К = 2, Б = 32
4. Вложение сетью Вана
В рекуррентной сети Вана [11] сумма = ^ ^ ^ ^ Ухгуу] 1] в (1) умножается
х г у<гиър(х) з=г
на величину ехр(—Ь/т), где т — параметр. Для сети Вана уравнение (9) приобретает следующий вид:
и
¿+1 — „Д
= иХг - £ Е Ъхз + Е ъуг - 2 - О Е Е Сгз ехР(-Ь/т),
Кзе1к
у£1к
уемър(х) з=г
Г10)
Ухг = (1 + ехр(-вихг)) 1, х,г Е I}, к = 1, 2,..., К.
Введение множителя ехр(-Ь/т) ускоряет сходимость рекуррентной сети, и количество некорректных решений сокращается. Так, для трехмерного тора с п = 33 = 27 вершинами при р = п, К = 3, О = 256, в = 0,1 для 100 решений получены такие результаты:
20
0
2
0
2
4
6
8
1) на сети Хопфилда получено 32 некорректных решения и 36 оптимальных решений (ранг 26);
2) на сети Вана при тех же значениях вышеуказанных параметров и т = 500 все 100 полученных решений корректны, причем 72 решения оптимальны. Оптимальные решения, как правило, достигались за несколько десятков шагов.
Заключение
Сформулирована задача вложения графов параллельных программ в графы распределённых вычислительных систем рекуррентными нейронными сетями. Экспериментально получены значения параметров, обеспечивающие отсутствие некорректных решений. Для вложения графа параллельной программы типа «линейка» в граф ВС типа 2В-тор показано, что благодаря введению в функцию Ляпунова параметра штрафа для рёбер графа программы, не совпадающих с рёбрами графа ВС, удаётся получить оптимальные решения при вложении линейки в двумерный тор для числа вершин n Е {9,16}. Для увеличения вероятности (частоты) оптимальных вложений:
1) предложен метод расщепления, суть которого заключается в приведении матрицы решения к блочно-диагональному виду;
2) выполнен переход от сети Хопфилда к сети Вана, что ускорило сходимость.
В результате получены высокие частоты оптимальных решений (при числе экспериментов, равном 100):
1) порядка 80-90 % для двумерных торов ( n = 32 = 9 и n = 42 = 16);
2) порядка 70% для трехмерного тора (n = 33 = 27).
Дальнейшие исследования следует проводить в направлении увеличения вероятности получения оптимальных решений при росте числа вершин графа программы.
ЛИТЕРАТУРА
1. Корнеев В. В. Архитектура вычислительных систем с программируемой структурой. Новосибирск: Наука, 1985. 166 с.
2. Тарков М. С. Вложение структур параллельных программ в структуры живучих распределенных вычислительных систем // Автометрия. 2003. Т. 39. №3. С. 84-96.
3. Cray T3E: http://www.cray.com/products/systems/crayt3e/1200e.html
4. YuH., Chung I.-H., Moreira J. Topology Mapping for Blue Gene/L Supercomputer // Proc. of the ACM/IEEE SC2006 Conf. on High Performance Networking and Computing, November 11-17, 2006, Tampa, FL, USA. ACM Press, 2006. P. 52-64.
5. Абрамов С. М., Заднепровский В. Ф., Шмелев А. Б., Московский А. А. СуперЭВМ ряда 4 семейства «СКИФ»: Штурм вершины суперкомпьютерных технологий // Вестник Нижегородского университета им. Н.И. Лобачевского. 2009. №5. С. 200-210.
6. Меламед И. И. Нейронные сети и комбинаторная оптимизация // Автоматика и телемеханика. 1994. №11. С. 3-40.
7. Kate A. S. Neural Networks for Combinatorial Optimization: A Review of More Than a Decade of Research // INFORMS J. Computing. 1999. V. 11. No. 1. P. 15-34.
8. Tarkov M. S., Lapukhov S. A. Mapping a parallel program structure onto distributed computer system structure by the Hopfield neural network with fuzzy scheduling parameters // Bulletin of the Novosibirsk Computing Center, Comp. Science. 2003. No. 19. P. 83-88.
9. Feng G., Douligeris C. The Convergence and Parameter Relationship for Discrete-Time Continuous-State Hopfield Networks // Proc. of Intern. Joint Conference on Neural Networks. 2001. P. 376-381.
10. Тарков М. С. Построение гамильтоновых циклов рекуррентной нейронной сетью в тороидальных графах с дефектами ребер // Труды XII Всерос. науч.-технич. конф. «НЕЙРОИНФОРМАТИКА-2010». Ч.2. М., 2010. С. 26-34.
11. Wang J. Analysis and Design of a Recurrent Neural Network for Linear Programming // IEEE Trans. On Circuits and Systems-I: Fundamental Theory and Applications. 1993. V. 40. No. 9. P. 613-618.
12. Dijkstra E. W. Self-stabilizing systems in spite of distributed control // Commun. ACM. 1974. V. 17. No. 11. P. 643-644.