Научная статья на тему 'Метод иерархической декомпозиции графов параллельных программ для РВС на основе многоуровневой схемы разбиения'

Метод иерархической декомпозиции графов параллельных программ для РВС на основе многоуровневой схемы разбиения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
209
33
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАЗБИЕНИЕ ГРАФОВ / МНОГОУРОВНЕВАЯ СХЕМА / МНОГОКРИСТАЛЬНЫЕ РЕКОНФИГУРИРУЕМЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гуленок Андрей Александрович

В статье рассматривает новый разработанный метод иерархической декомпозиции графов параллельных программ для реконфигурируемых вычислительных систем (РВС). Данный метод основан на W-образной модели многоуровневой схемы разбиения, который в отличие от ранее разработанного метода на основе V-образной модели позволит обходить некоторые локальные тупики, что в свою очередь повысит качество решения общей задачи отображения параллельных программ на аппаратный ресурс многокристальных РВС.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Гуленок Андрей Александрович

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

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

_МЕЖДУНАРОДНЫЙ НАУЧНЫЙ ЖУРНАЛ «СИМВОЛ НАУКИ» №7/2016 ISSN 2410-700X_

б.Обрубов, В.А. Сватронные ГИТ, ведомые сетью [Текст]. //Инновационная наука, 2016, №4-3. С.130 - 134. 7.Обрубов, В.А. Мостовой сватронный ГИТ для АДСН [Текст]. //Инновационная наука, 2016, №4-3. С.134- 137. 8. Чернявский, Н.И. Трансформаторный сватронный ГИТ с ИНЭ с улучшенным коэффициентом мощности [Текст] // Энергосбережение, электромагнитная совместимость и качество в электрических системах. - Пенза: Приволжский Дом знаний, 2013. - С.78 - 81.

9.Чернявский, Н.И. Параметрическая стабилизация энергии сварочной дуги при питании от РГИТ [Текст]. //Инновационная наука, 2016, №4-3. С.202- 206.

10. Чернявский, Н.И. Сватронные депозитарно-диссипативные ГИТ для АДСН алюминия [Текст] // Энергосбережение, электромагнитная совместимость и качество в электрических системах. - Пенза: Приволжский Дом знаний, 2013. - С.75 - 78.

П.Чернявский, Н.И. Депозитарный ГИТ для аргонодуговой сварки алюминиевых деталей автомобилей в службах автосервиса [Текст] //Наука - промышленности и сервису. - Тольятти : 2013. № 8-2. С. 241-246.

12. Чернявский, Н.И. Сватронные ГИТ депозитарного типа для АДСН [Текст] |//Современные технологии в машиностроении: сборник статей XVI Международной научно-практической конференции. - Пенза: Приволжский Дом знаний, 2012. - С.86 - 88.

13. Чернявский, Н.И. Особенности регулирования сварочного тока сватронных депозитарных ГИТ [Текст] // Современные технологии в машиностроении: сборник статей XVI Международной научно-практической конференции. - Пенза: Приволжский Дом знаний, 2012. - С.108 - 110.

14.Легостаев, В.А. Исследование особенностей источников переменного тока с индуктивными накопителями энергии при параметрической стабилизации сварочного процесса [Текст] /В.А.Легостаев, И.В.Пентегов, Е.П. Стемковский, А.Г.Чаюн //Методы и технические средства стабилизации тока. - Киев: Наук. думка, 1980. -с.102 - 110.

15.Чернявский, Н.И. Энергетические характеристики генераторов импульсов тока с индуктивными накопителями энергии для аргонодуговой сварки алюминиевых сплавов неплавящимся электродом [Текст] / Н.И. Чернявский, Ю.В. Казаков, Н.Н.Чибисова. //Вектор науки Тольяттинского государственного университета. 2011. № 2. - С. 94-97.

16.Чернявский, Н.И. Определение действующего значения импульсного тока при аргонодуговой сварке алюминия неплавящимся электродом [Текст] /Н.И.Чернявский, Ю.В.Казаков, Г.М. Короткова, Н.Н. Чибисова. //Сварочное производство. 2012. № 8. С. 12-16.

17. Пат. 1073025 СССР, МПК7 В23К 9/00. Устройство для дуговой сварки [Текст]: /Чернявский Н.И., Ивашин В.В. - №3401468/25-27; заявл. 01.03.82; опубл.15.02.84, Бюл.№6. - 9 с.

© Гаврилов А. А., 2016

УДК 004.4'2

Гуленок Андрей Александрович

канд. техн. наук, снс. НИИ МВС ЮФУ, г. Таганрог, РФ

E-mail: [email protected]

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

Аннотация

В статье рассматривает новый разработанный метод иерархической декомпозиции графов параллельных программ для реконфигурируемых вычислительных систем (РВС). Данный метод основан на

* Работа выполнена при финансовой поддержке стипендии Президента Российской Федерации молодым ученым и аспирантам, осуществляющим перспективные научные исследования и разработки по приоритетным направлениям модернизации российской экономики, на 2016-2018 гг. (СП-173.2016.5).

_МЕЖДУНАРОДНЫЙ НАУЧНЫЙ ЖУРНАЛ «СИМВОЛ НАУКИ» №7/2016 ISSN 2410-700X_

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

Ключевые слова

Разбиение графов, многоуровневая схема, многокристальные реконфигурируемые

вычислительные системы.

Реконфигурируемые вычислительные системы (РВС) на базе программируемых логических интегральных схем (ПЛИС) находят своё применение при решении вычислительно трудоёмких задач из различных предметных областей. Рост производительности кристаллов ПЛИС, опережающий рост традиционных микропроцессоров, и архитектурные особенности кристаллов ПЛИС позволяют на целых классах задач существенно превосходить по реальной производительности кластерные системы, при более низкой частоте. Так за пять лет с 2009 по 2014 гг. у фирмы Xilinx [1] вышли три поколения семейств высокопроизводительных кристаллов ПЛИС: Virtex-6, Virtex-7 и Virtex UltraScale. При этом наблюдается более чем семикратное увеличение вычислительной ёмкости у кристаллов семейства Virtex UltraScale по сравнению с кристаллами семейства Virtex-6. В то же время у кристаллов одного и того же физического размера при переходе от одного поколения к следующему наблюдается лишь снижение общего числа выводов доступных пользователю для организации информационных обменов.

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

Существующие средства программирования ПЛИС направлены главным образом на реализацию решений в рамках одной ПЛИС или в ряде независимых ПЛИС.

В НИИ МВС ЮФУ в последние десять лет разрабатываются и развиваются инструментальные средства программирования, которые обеспечивают быструю разработку эффективных параллельных программ для многокристальных РВС на языке высокого уровня COLAMO [2]. Входящий в состав данных средств программирования многокристальный синтезатор Fire!Constructor [3], выполняет автоматическое отображение вычислительной структуры параллельной программы на аппаратный ресурс РВС. Одной из основных задач, решаемых при этом, является задача разбиения информационного графа, описывающего вычислительную структуру, на непересекающиеся подграфы, с двумя накладываемыми условиями:

- предполагаемый занимаемый аппаратный ресурс фрагмента вычислительной структуры, описанного подграфом, не должен превышать аппаратного ресурса одной ПЛИС;

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

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

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

_МЕЖДУНАРОДНЫЙ НАУЧНЫЙ ЖУРНАЛ «СИМВОЛ НАУКИ» №7/2016 ISSN 2410-700X_

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

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

Для решения задачи разбиения информационных графов параллельных программ были разработаны и модифицированы несколько методов и алгоритмов, основанных на методах многоуровневой схемы разбиения и рекурсивной бисекции [5].

В разработанных ранее методах и алгоритмах вычислительные структуры параллельных программ представляются в виде двух графовых форм. В первой графовой форме вычислительная структура представляется в виде неориентированного графа G = (V,E), где V - множество вершин, соответствующих элементам вычислительной структуры, U - множество связей между ними. В качестве второй графовой формы представления вычислительной структуры используется неориентированный граф Q = (V U VO U VÏ,Eq), где V - множество вершин, соответствующих элементам вычислительной структуры, VO -подмножество выходных выводов элементов вычислительной структуры, VI - подмножество входных выводов элементов вычислительной структуры. Для любого ребра (a,b)eEç: aeVO,beVI ставится в соответствие разрядность линии связи из вычислительной структуры, соединяющей соответствующие выводы. И в первой, и во второй графовых формах каждой вершины из множества V ставится в соответствие предполагаемый ресурс, занимаемый элементом вычислительной структуры в кристалле ПЛИС, представленный данной вершиной.

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

Аппаратный ресурс ПЛИС и ресурс занимаемый элементами в кристалле ПЛИС описывается следующим кортежем R =< FF,LUT,RAM,DSP >, где FF - количество триггеров (Flip-Flops), LUT -количество таблиц преобразования (LUT-таблиц), RAM - количество блоков ОЗУ, DSP - количество встроенных блоков DSP-48.

Определим понятие «вес» вершины или подмножества вершин следующим отношением wa =

s FFa LUTn RAMa DSPa Tjrr, r% л n л r\ r» rt max(—-,—-,—--,—-), где FFa,LUTa,RAMa и DSPa - аппаратный ресурс вершины a или

ГГПЛИС ьи'ПЛИС КАМПЛИС УЪГПЛИС

суммарный аппаратный ресурс вершин, входящих в подмножество a (если a - некоторое подмножество вершин исходного графа), FFnnwc,LUTnnwc,RAMnnwc и 05Рплис - аппаратный ресурс одного кристалла ПЛИС.

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

В ранее разработанном синтезаторе использовалась классическая (или V-образная) многоуровневая схема разбиения графа [6] (см. рис. 1.а), которая состоит из трёх этапов:

- итерационного «огрубление графа» (снижение числа вершин в графе), за счёт стягивания вершин, которые выгодно размещать вместе;

- разбиение огрублённого графа на подграфы;

- восстановление огрублённого графа и оптимизация полученного результата разбиения.

Разработанные ранее методы и алгоритмы разбиения информационных графов параллельных

программ для РВС учитывали ограничение на суммарное число внешних связей фрагментов вычислительных устройств, описанных подграфами, как на этапе огрубления графа, так и на этапе

_МЕЖДУНАРОДНЫЙ НАУЧНЫЙ ЖУРНАЛ «СИМВОЛ НАУКИ» №7/2016 ISSN 2410-700X_

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

Итерация алгоритма

а) б)

Рисунок 1 - Многоуровневая схема разбиения графа У-образная модель (а) и W-образная модель (б)

В данной работе рассматривается новый метод иерархической декомпозиции графов, построенный на '-образной модели многоуровневой схемы разбиения [7] (см. рис.1.б). Разработанный новый метод состоит из следующих пунктов:

- выбор текущего критерия СгИ для определения пар стягиваемых вершин на этапе огрубления графа;

- установить ограничения MaxLinksCount на суммарное число связей для формируемых фрагментов вычислительного структуры, описанных подграфами и стянутыми вершинами, и ограничение на суммарный ресурс формируемых фрагментов;

- выполнить огрубление графа в соответствие с выбранным критерием Сп^

- выполнить разбиение графа и восстановление графа;

- если результат разбиения не найден или не удовлетворяет установленным ограничениям, то выполняется огрубление исходного графа с тем же критерием Cгit, но без учёта ограничения MaxLinksCount;

- в полученном втором результате огрубления графа производится восстановление «плохих» стянутых вершин;

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

Данные метод предполагает, что существует несколько критериев выбора пар стягиваемых вершин, с которыми последовательно осуществляется попытка решения задачи разбиения входного графа. Сначала с текущим критерием осуществляется попытка разбиения графа на основе классической У-образной модели. Если У-образная модель не даёт допустимого решения, то запускается '-образная модель, которая состоит из двух этапов: формирование частично стянутого графа с текущим критерием выбора пар стягивания вершин и попыткой осуществления разбиения графа У-образной моделью с новым критерием выбора пар стягиваемых вершин, но уже частично стянутого графа.

При формировании частично стянутого графа в '-образной модели ограничение на суммарное число внешних связей не учитывается, но в полученном результате выполняется восстановление «плохих» вершин. Вершина х считается «плохой» и должна быть восстановлена в следующих случаях:

- если О(х) > MaxLinksCount, где О(х) - сумма разрядностей связей, соответствующих внешним рёбрам стянутой вершины х (вершины, которые не удовлетворяют ограничению на суммарное число внешних

_МЕЖДУНАРОДНЫЙ НАУЧНЫЙ ЖУРНАЛ «СИМВОЛ НАУКИ» №7/2016 ISSN 2410-700X_

связей);

- если отношение I(x)/O(x) < 2, где I(x) - сумма разрядностей связей, соответствующих рёбрам исходного графа попавшим в стянутую вершину x (неудачно стянутые вершины, для которых количество удалённых рёбер исходного графа не велико);

- если отношение W(x)/O(x) < 0.618*maxWO, где W(x) - вес вершины, maxWO - максимальное значения отношения W/O среди всех вершин в стянутом графе (вершины, сильно проигрывающие наилучшим по критерию W/O; коэффициент 0.618 был подобран эмпирически и соответствует обратной величине золотого сечения).

В разработанном новом методе иерархической декомпозиции графа на основе W-образной модели предлагается использовать три различных критерия выбора пар стягиваемых вершин:

- выбираются смежные вершины x и y, для которых отношение W(x,y)/O(x,y) максимальное среди всех пар вершин, где W(x,y) - вес предполагаемой стягиваемой вершины, O(x,y) - суммарное число внешних связей стягиваемой вершины (критерий, используемый в ранее разработанном алгоритме стягивания вершин в информационных графах параллельных программ для РВС [5]);

- выбираются смежные вершины, которые в результате стягивания дают наибольшее снижение числа внешних связей в графе (критерий, используемый в алгоритме стягивания в классической многоуровневой схеме [6]);

_ Num(x,y)*I(x,y)

- выбираются смежные вершины x и y, для которых отношение-о(ху)-минимально среди всех

пар вершин, где Num(x,y) - суммарное число вершин исходного, входящих в стягиваемую вершину, I(x,y) -суммарное число связей исходного графа, попадающих в стягиваемую вершину (новый критерий, позволяющий находить пары стягиваемых вершин с хорошим показателем числа удаляемых рёбер в стянутом графе по отношению к оставшемуся числу рёбер).

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

Список использованной литературы:

1. http://www.xilinx.com

2. Multi-level Programming of FPGA-based Computer Systems with Reconfigurable Macroobject Architecture, IFAC Proceedings Volumes, Programmable Devices and Embedded Systems, Volume №12, part №1, 2013, рр. 204209

3. Гуленок А.А. Синтезатор структурных параллельных прикладных программ для многокристальных реконфигурируемых вычислителей: дис. канд. техн. наук / Гуленок А.А. - Таганрог, 2011.

4. B. Hendricson and R. Leland. Multidemensional spectral load balancing. Sandia National Laboratories, Albuquerque, NM, 1993

5. Гуленок А.А. Методы и алгоритмы отображения графов задач на реконфигурируемые вычислительные системы. [Текст] / Вестник компьютерных и информационных технологий. - М.: Машиностроение, 2011. -№6. - С. 3-11.

6. Karypis G. and Kumar V. Multilevel algorithms for multi-constraint graph partitioning. Technical Report TR 98019, Department of Computer Science, University of Minnesota, 1998.

7. Aydin B. Recent Advances in Graph Partitioning. Technial Report November 2013, arXiv: 1311.3144

© Гуленок А. А., 2016

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