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

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

CC BY
111
43
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМА ЛОГИЧЕСКОГО УПРАВЛЕНИЯ / ПРОЕКТИРОВАНИЕ ЛОГИЧЕСКИХ МУЛЬТИКОНТРОЛЛЕРОВ / РАЗБИЕНИЯ / ПАРАЛЛЕЛЬНЫЙ АЛГОРИТМ / ДИСКРЕТНАЯ КОМБИНАТОРНАЯ ОПТИМИЗАЦИЯ / ЭВРИСТИЧЕСКИЕ МЕТОДЫ / LOGICAL CONTROL SYSTEM / LOGICAL MULTI-CONTROLLERS DESIGN / PARTITION / PARALLEL ALGORITHM GRAPH-SCHEME / DISCRETE COMBINATORIAL OPTIMIZATION / HEURISTIC METHODS

Аннотация научной статьи по математике, автор научной работы — Ватутин Эдуард Игоревич, Леонов Михаил Евгеньевич

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

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

Похожие темы научных работ по математике , автор научной работы — Ватутин Эдуард Игоревич, Леонов Михаил Евгеньевич

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

Using of Adjacent Neighborhood at Greedy Sequential Partition of Parallel Graph-Schemes

A method and algorithm for partition of parallel graph-schemes using adjacent neighborhood within greedy sequential approach are proposed. Numerical estimates of obtained partitions are presented.

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

УДК 621.397.01

Э. И. Ватутин, М. Е. Леонов

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

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

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

При проектировании однородных многомодульных мультисистем (логические мультикон-троллеры, однородные вычислительные системы и среды) возникает ряд дискретных оптимизационных задач, одной из них является задача поиска разбиения граф-схемы алгоритма, по которому функционирует система [1, 2]. Данная задача не позволяет отыскать точное (оптимальное) решение для граф-схем алгоритмов, содержащих 20—30 и более вершин ввиду стремительного увеличения числа решений, ограниченного сверху числом Белла [3]. Потому на практике ограничиваются рассмотрением решений, получаемых с использованием эвристических методов за приемлемое время. Разные эвристические методы характеризуются существенно различающимся качеством получаемых решений [4, 5] при различных технологических ограничениях, определяемых элементной базой. Задача поиска субоптимального разбиения является многокритериальной, а методы ее решения характеризуются различным уровнем минимизации частных показателей качества в различных областях пространства ограничений, что не позволяет выделить однозначно лучшего из них. Таким образом, необходима разработка методов, позволяющих получать решения, более близкие к оптимуму в широкой области пространства ограничений.

Неоспоримыми преимуществами последовательных методов [1, 2], в частности, методов, основанных на жадном подходе к поиску решения, являются сравнительно малые затраты вычислительного времени, необходимые для отыскания предположительно оптимального решения, и простота реализации. Жадный подход к синтезу разбиений, используемый, например, в методе С.И. Баранова [6, 7], заключается в том, что для всех нерассмотренных вершин из блока остатков рассчитывается весовая функция

. ( > АХ(А(>>, А('+>>> Д¥(А('>, А(AW(А(>>, А('++

У (' А' > = к1 Xт„ - X (А(+») + 1 + "2 ¥тах - ¥ (А^>) + 1 + к3 Жт„ - * (А(*>)

(1)

х (а(+1)| + 1 ¥„„ - ¥ ( А(+1)| +1 Ж,,» - Ж (А(+1)) +1

характеризующая целесообразность включения вершины а, в блок (индекс ] в данном

случае обозначает шаг работы алгоритма). Здесь А(у+1> = А(у> и {а, } — выбранный блок разбиения после включения в его состав вершины а,; кц, А^, кз — весовые коэффициенты;

АХ (А(у >, А(-/'+1>) = X (а,) \ X (А^), А¥ (А^, А(-/'+1>) = ¥ (а,) \ ¥ (А^), А Ж (А^, А(-/'+1>) =

= Ж (а,) — приращения частных показателей качества (соответственно числа логических условий, микроопераций и затрат памяти микропрограмм после добавления вершины в блок); Xmax, ¥тах, Жтах — значения технологических ограничений на число принимаемых контрол-

лером сигналов логических условий, выдаваемых микроопераций и емкость памяти контроллера соответственно. Далее из множества всех еще не рассмотренных вершин (блок остатков) А выбирается вершина а1 е А, для которой значение весовой функции (1) минимально и не нарушаются структурные и функциональные ограничения, производится ее включение в блок А(] +1 := А(]) и (аг-} и исключение из множества нерассмотренных вершин: А := А \ {аг-} . При

невозможности включения ни одной из вершин множества А в блок А(]) в множество разбиений Г = { А1, А2,..., Ан} выполняется добавление нового пустого блока разбиения

Ан +1 = 0 и процесс рассмотрения вершин из А повторяется. Указанные действия выполняются до тех пор, пока не будет достигнуто А ^ 0 .

При подобном подходе блоки разбиения формируются последовательно, а наполнение

текущего блока А^ ^ осуществляется путем рассмотрения всего множества вершин А . Проведенные вычислительные эксперименты [4, 5] показывают, что в условиях слабых или отсутствующих технологических ограничений такая стратегия имеет ряд преимуществ, однако по мере ужесточения ограничений наблюдается ухудшение ряда показателей качества, что наиболее сильно проявляется в увеличении сложности сети межблочных связей и интенсивности межблочных взаимодействий (до 30 %). Указанного негативного эффекта можно избежать путем преимущественного рассмотрения смежных вершин при формировании очередного блока разбиения. Для этого в множестве А выделяется подмножество А ^ А смежных

с текущим блоком А^ ^ вершин, для которых имеются дуги связи вершин в составе подмно-

~ * (/) жества А и вершин в составе блока Ан':

3V; =

i = (' %): (ahg a(j) )■Л (a2 е A*) v (% е A*)л (% е a(j)

и не происходит нарушения ограничений при добавлении вершины в блок. В случае A = 0 производится рассмотрение вершин из A (рис. 1, крестиками обозначены недопустимые включения).

Алгоритм построения разбиения при подобном подходе можно представить следующим образом.

1. Инициализация. Положить Г = {A1} , A1 = {анач, aкон}, AA = A(0) \ A1, H = 1.

2. Сформировать множество вершин A ^ A, имеющих дуги связи с текущим блоком разбиения Ah , положить j = 1. Если A = 0 , перейти к п. 4.

3. Для всех вершин а{ е AA рассчитать значение весовой функции f (а{, aH)), аopt = arg min f (at, AH)), при условии, что не происходит нарушения ограничений:

положить

X (A{H) U Ц })| < XmaX , |Y (AH) U Ц })| < 7maX, W (^) U Ц }) < WmaX

и : (ak е AH&at). 4. Если вершина aopt не найдена, для всех вершин a{ е A рассчитать значение весовой

функции f (, aH )), положить aopt = arg min f (a{, aH )) при условии, что не происходит на-

a

рушения ограничений (см. п. 3).

a

5. Если вершина аор найдена, положить А^ +1) := А^ и {аор1} , ] := ] +1, А := А \ {аор}, в противном случае добавить в разбиение новый блок Г :=Ги{Ан+1}, Ан +1 = 0, положить

Н := Н +1. Если А ^0 , перейти к п. 2, в противном случае — к п. 6.

6. Конец алгоритма.

Результаты работы алгоритма, полученные в среде РАЕ [8, 9], приведены в табл. 1, 2 и на рис. 2, 3 (в таблицах и на рисунках 1 — предложенный метод, 2 — метод С. И. Баранова, 3 — параллельно-последовательный метод). На рис. 2 представлены вероятности Р получения решения с заданным отклонением А: а — для степени дублирования микроопераций

у (У) , б — интегрального критерия у (J) , ограничения отсутствуют. На рис. 3 приведены вероятности получения решения с заданным отклонением: а — для сложности сети межблочных связей у (а) , б — интенсивности межблочных взаимодействий у (5), Хтах = 10, Утах = да, Жтах = 10 . _Таблица 1

Метод Показатели качества

У (Н) Р(Н) У (X) Р(Х) т (У ) Р(У) У (а) Р(а) У (5) Р(5) t, мс

1 14,779 1,0 6,083 0,754 50,645 0,238 40,004 0,827 33,566 0,844 9,172

2 14,779 1,0 6,083 0,754 51,644 0,119 40,035 0,811 33,563 0,853 6,126

3 14,794 0,986 6,714 0,558 47,397 0,808 44,902 0,188 35,382 0,141 16,479

Примечание: Хтах = Утах = ^тах = да; среднее число вершин N = 100, объем выборки граф-схем К = 5000 , время вычислительного эксперимента t = 8 мин.

_Таблица 2

Метод Показатели качества

У (Н) Р(Н) У (X) р(Х) у (У) Р(У) У (а) Р(а) У (5) Р(5) t, мс

1 15,882 0,400 10,862 0,203 59,390 0,019 50,364 0,409 40,487 0,168 8,663

2 16,039 0,342 9,396 0,499 54,861 0,292 51,103 0,320 44,984 0,009 4,508

3 15,258 0,889 9,303 0,617 51,815 0,758 50,698 0,414 36,873 0,831 16,028

Примечание: Хтах = 10, Утах = да, Жтах = 10; N = 100, К = 5000, t = 8 мин.

Рис. 2

команд Рис. 3

При отсутствии технологических ограничений предложенный метод демонстрирует практически неизменный уровень минимизации показателей качества по сравнению с методом, основанным на жадном последовательном формировании блоков разбиения (метод С. И. Баранова). Исключение составляет степень минимизации дублирования микроопераций (среднее значение уменьшается с 51,644 до 50,645 (на 2 %) при повышении вероятности получения решения с минимальной степенью дублирования микроопераций с 0,119 до 0,238 (в 2 раза)). При наложении сильных ограничений предложенный метод позволяет несколько улучшить получаемые решения по числу блоков (на 9,8 %), по сложности сети межблочных связей (на 1,4 %) и по интенсивности межблочных взаимодействий (на 10 %) при повышении степени дублирования микроопераций (на 8,2 %) и ухудшении логических условий (на 15,6 %), при этом не достигаются значения параметров качества для разбиений, получаемых с использованием параллельно-последовательного метода [10, 11] (за исключением равенства в пределах погрешности по сложности сети межблочных связей). При этом затраты времени, необходимого на синтез разбиения, увеличиваются в 1,5—2 раза по сравнению с жадным последовательным формированием разбиений, не превышая затрат, требуемых на синтез разбиений с использованием параллельно-последовательного подхода, что приемлемо. В перспективе дальнейших исследований вызывает интерес более полный анализ пространства ограничений с целью выявления зон преимущественного использования предложенного метода. Такой анализ потребует [4, 5] значительно больших временных затрат и ввиду слабой связности задачи может быть эффективно организован с использованием добровольных распределенных вычислений [12].

Работа выполнена в рамках программы „Научные и научно-педагогические кадры инновационной России на 2009—2013 годы" (проект 14.B37.21.0598 „Теоретические основы и методы использования распределенных и высокопроизводительных вычислительных систем для решения дискретных оптимизационных задач").

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

1. Емельянов С. Г., Зотов И. В., Титов В. С. Архитектура параллельных логических мультиконтроллеров. М.: Высш. школа, 2009. 233 с.

2. Ватутин Э. И. Проектирование логических мультиконтроллеров. Синтез разбиений параллельных граф-схем алгоритмов. Saarbrücken: Lambert Academic Publishing, 2011. 292 с.

3. [Электронный ресурс]: <http://ru.wikipedia.org/wiki/Числа_Белла>.

4. Ватутин Э. И., Титов В. С. Сравнение методов синтеза разбиений граф-схем параллельных алгоритмов с использованием двумерных диаграмм // Изв. ЮЗГУ. 2012. № 3 (42). С. 66—74.

5. Ватутин Э. И., Титов В. С. Использование добровольных распределенных вычислений на платформе BOINC для анализа качества разбиений граф-схем параллельных алгоритмов // Параллельные вычисления и задачи управления (PACO'12). М.: ИПУ РАН, 2012. С. 37—54.

6. Баранов С. И., Журавина Л. Н., Песчанский В. А. Обобщенный метод декомпозиции граф-схем алгоритмов // АиВТ. 1982. № 5. С. 43—51.

7. Ватутин Э. И. Библиотека функций построения разбиений методом С. И. Баранова с жадным последовательным формированием блоков. Свидетельство о государственной регистрации программы для ЭВМ № 2010612902 от 28.04.10.

8. Ватутин Э. И., Зотов И. В. Программная система для построения разбиений параллельных управляющих алгоритмов // Тр. V Междунар. конф. „Идентификация систем и задачи управления (SICPR0'06) ". М.: Институт проблем управления им. В. А. Трапезникова РАН, 2006. С. 2239—2250.

9. Ватутин Э. И., Зотов И. В. Визуальная среда синтеза разбиений параллельных алгоритмов логического управления. Свидетельство об официальной регистрации программы для ЭВМ № 2007613222 от 30.07.07.

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

10. Ватутин Э. И., Зотов И. В. Метод формирования субоптимальных разбиений параллельных управляющих алгоритмов // Параллельные вычисления и задачи управления (PACO'04). М.: Институт проблем управления им. В.А. Трапезникова РАН, 2004. С. 884—917.

11. Ватутин Э. И., Зотов И. В. Параллельно-последовательный метод формирования субоптимальных разбиений параллельных управляющих алгоритмов. Свидетельство об официальной регистрации программы для ЭВМ № 2005613091 от 28.11.05.

12. [Электронный ресурс]: <http://ru.wikipedia.org/wiki/BOINC>.

Сведения об авторах

Эдуард Игоревич Ватутин — канд. техн. наук, доцент; Юго-Западный государственный университет,

кафедра вычислительной техники, Курск; E-mail: evatutin@rambler.ru

Михаил Евгеньевич Леонов — аспирант; Юго-Западный государственный университет, кафедра вычислительной техники, Курск; E-mail: mike_stranger@mail.ru

Рекомендована Юго-Западным Поступила в редакцию

государственным университетом 18.02.13 г.

УДК 681.3

Д. О. Бобынцев, Д. Б. Борзов, А. П. Типикин

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

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

Ключевые слова: матричные мультиконтроллеры, планирование размещения задач.

Правильное размещение взаимодействующих подпрограмм по процессорам матричных мультиконтроллеров является важным аспектом параллельной обработки. Неудачное распределение подпрограмм между процессорами приводит к перекрытиям маршрутов транзитной передачи данных, возрастанию коммуникационных задержек и существенному снижению производительности распараллеливания. Для минимизации коммуникационных задержек с помощью программно-аппаратных средств решается задача планирования размещения подпрограмм. Целью настоящей статьи является анализ качества размещения согласно методу, представленному в работе [1].

Математическая постановка задачи размещения подпрограмм описана в работе [1]. Наилучший вариант размещения определяется по алгоритму перестановки строк и столбцов матрицы обмена информацией (МОИ), описывающей граф G взаимодействия подпрограмм. Алгоритм позволяет размещать дуги графа G по каналам наименьшей длины. Минимаксный критерий поиска представлен следующим образом:

TR* = min { maxiTß _(pi, pj )}),

ß ¥ \ß5 еТ J j

где Tß^ (pt, pj) — коммуникационная задержка при передаче данных между процессорами pi

и pj, соответствующая текущему варианту размещения ß^. Значение задержки пропорционально произведению кратчайшего расстояния между данными процессорами на объем передаваемых данных. В настоящей работе выполнен сравнительный анализ минимаксного критерия с другим известным критерием поиска [2] следующего вида:

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