Научная статья на тему 'О вложении графов параллельных программ в графы распределенных вычислительных систем рекуррентными нейронными сетями'

О вложении графов параллельных программ в графы распределенных вычислительных систем рекуррентными нейронными сетями Текст научной статьи по специальности «Математика»

CC BY
168
41
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ВЛОЖЕНИЕ / ГРАФЫ ПАРАЛЛЕЛЬНЫХ ПРОГРАММ / РАСПРЕДЕЛЕННЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ / НЕЙРОН / СЕТЬ ХОПФИЛДА / РЕКУРРЕНТНАЯ СЕТЬ ВАНА / MAPPING / GRAPHS OF PARALLEL PROGRAMS / DISTRIBUTED COMPUTER SYSTEMS / HOPFIELD NETWORK / RECURRENT WANG NETWORK

Аннотация научной статьи по математике, автор научной работы — Тарков Михаил Сергеевич

Сформулирована задача вложения графов параллельных программ в графы распределённых вычислительных систем рекуррентными нейронными сетями. Экспериментально получены значения параметров, обеспечивающие отсутствие некорректных решений. Благодаря введению в функцию Ляпунова коэффициента штрафа для рёбер графа программы, не совпадающих с рёбрами графа ВС, при вложении «линейки» в двумерный тор получены оптимальные решения. Для увеличения вероятности оптимальных вложений предложен метод расщепления вложения, суть которого заключается в приведении матрицы решения к блочно-диагональному виду. Для исключения некорректных решений при вложении линейки в трехмерный тор использована рекуррентная сеть Вана, обладающая более быстрой сходимостью, чем сеть Хопфилда.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

A problem of mapping graphs of parallel programs onto graphs of distributed computer systems by recurrent neural networks is formulated. The network parameters providing the absence of incorrect solutions are experimentally determined. By introduction of a penalty coefficient into the Lyapunov function for the program graph edges non-coincided with the edges of the computer system, the optimal solutions are computed for mapping the "line" program graph onto a two-dimensional torus. To increase the optimal solution probability a method of the mapping decomposition is proposed. The method essence is a reduction of the solution matrix to a block-diagonal shape. For exclusion of incorrect solutions in mapping the line onto three-dimensional torus, a recurrent Wang network is used because it is converged more rapidly than the Hopfield network.

Текст научной работы на тему «О вложении графов параллельных программ в графы распределенных вычислительных систем рекуррентными нейронными сетями»

2010 Математические основы информатики и программирования №4(10)

УДК 004.032.26(06)

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

М. С. Тарков

Институт физики полупроводников им. А. В. Ржанова СО РАН, г. Новосибирск, Россия

E-mail: tarkov@isp.nsc.ru

Сформулирована задача вложения графов параллельных программ в графы распределённых вычислительных систем рекуррентными нейронными сетями. Экспериментально получены значения параметров, обеспечивающие отсутствие некорректных решений. Благодаря введению в функцию Ляпунова коэффициента штрафа для рёбер графа программы, не совпадающих с рёбрами графа ВС, при вложении «линейки» в двумерный тор получены оптимальные решения. Для увеличения вероятности оптимальных вложений предложен метод расщепления вложения, суть которого заключается в приведении матрицы решения к блочно-диа-гональному виду. Для исключения некорректных решений при вложении линейки в трехмерный тор использована рекуррентная сеть Вана, обладающая более быстрой сходимостью, чем сеть Хопфилда.

Ключевые слова: вложение, графы параллельных программ, распределенные вычислительные системы, нейрон, сеть Хопфилда, рекуррентная сеть Вана.

Введение

Распределённая вычислительная система (ВС) [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.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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.

i Надоели баннеры? Вы всегда можете отключить рекламу.