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

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

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

Аннотация научной статьи по математике, автор научной работы — Поляков Геннадий Алексеевич, Толстолужская Елена Геннадиевна, Шматков Сергей Игоревич, Г.Р. Геахпур

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

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

Похожие темы научных работ по математике , автор научной работы — Поляков Геннадий Алексеевич, Толстолужская Елена Геннадиевна, Шматков Сергей Игоревич, Г.Р. Геахпур

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

The Method of tasks fragmentation for homogeneous computer networks with the using of formal polynomials apparatus

Describing a method of problems separation into fragments (sub-tasks) with the minimization of the number of data exchanges between fragments to solve the problems on homogeneous computer networks

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

КОМПЬЮТЕРНЫЕ НАУКИ А

УДК680.3

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

ПОЛЯКОВ Г.А., ТОЛСТОЛУЖСКАЯ Е.Г., ШМАТКОВ С.И., ГЕАХПУР Г.Р.______________

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

1. Актуальность исследования

Одной из центральных проблем современной вычис-лительнойтехники является повышение эффективности многопроцессорных ЭВМ и вычислительных сетей ВС, GRID, выполняющих параллельное решение больших задач или сложных комплексов взаимосвязанных задач. Для их решения в ограниченные сроки наиболее широко применяются многопроцессорные суперЭВМ класса МРР с массово-параллельной обработкой (Massively Parallel Processing) и пространственно-разнесенные вычислительные сети [1 - 9]. Обмен данными между процессорами/узлами таких ЭВМ и ВС при решении задач обеспечивается путем передачи сообщений или пакетов данных. Во многих случаях это приводит к большим временным затратам, которые существенно снижают производительность и эффективность суперЭВМ и вычислительных сетей по сравнению с потенциально возможными значениями [1,6,7,11,12,13].

В связи с этим важное значение в организации параллельного решения больших задач и сложных комплексов алгоритмов на основе многопроцессорных ЭВМ и ВС с передачей сообщений приобретает разработка методов разделения задач на подзадачи - фрагменты, обеспечивающих минимизацию суммарного количества обменов данными между фрагментами при решении задачи. Для известных комбинаторных методов решения этой задачи характерен быстрый роствременных затрате увеличением ее размерности [1,6,7, 10,11].

Цель исследования: разработка метода фрагментации задач, выполняемых однороднойВС, на основе применения аппарата формальныхполиномов, обеспечивающего оптимальное статическое разбиение задач, решаемыхВС, на фрагменты (подзадачи) в интересах

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

2. Определения и понятия

Формальный полином первой степени определяется следующим соотношением:

P'tX^P1 JxjWj

j=i ’

где Xj - идентификатор переменной; Wj -формальная сложность переменной Xj: xj - wj - формальное произведение (терм). При фрагментации задач, представленных графами, Xj интерпретируется вершиной графа, W j трактуется как значение «сложности» вершины Xj. под термом Xj -Wj понимается конкретная вершина графа, «взвешенная» (сопровождаемая) характеристикой ее «сложности».

Количество термов в формальном полиноме первой степени определяется количеством ”п” вершин в графе.

Операция формального умножения двух полиномов первой степени определяется как формирование полинома второй степени в соответствии со следующим соотношением:

P2(X)=P1(X)xP1(X)=i XjWjxJ XjWj j=l j=l

Формальное умножение двух полиномов 1-й степени (после попарного перемножения всех элементов полиномов) позволяет представить полином 2-й степени Р2(Х) в следующем виде (для пояснений примем значение п = 2 ):

2

Р (X)=(x1W1+X2W2)x(x1W1+X2W2)=

2 2 2 2 =Х]_ W]_ +X1WiX2W2+X2W2X1Wi+2W2

Формальный полином Pk (X) k-й степени формируется перемножением двух полиномов: полинома Р (X) (к -1 )-й степени и полинома Р1 (X) первой степени:

Рк(Х)=Рк'1(Х)хР1(Х) .

Например, при значении п = 2 полином P3(X)=P2(X)xP1(X)=(x2w2+x1w1x2w2+x2w2x1w1 +

+X2w2 )(XjWj +x2w2 )=x1w1x2w2 +x2w2x2w2 +

2 2 2 2 3 3

“bX2W2X^W^ +X2W2X^W і +X2 W2 •

Отметим, что количество членов в формальном полиноме произвольной степени “ к55 равно произведению количества членов в каждом из полиномов сомножителей.

50

РИ, 2009, № 1

Сложность одного формального произведения (терма) полинома первой степени равна, по определению, Wj. Сложность произвольного члена формального полинома произвольной степени определяется как сумма формальных сложностей w j вершин Xj, входящих в рассматриваемое формальное произведение. К примеру, сложность формального произведения x;-w1-x2-W2= " г "2- Также по определению, сложность произвольного члена полинома произвольной степени, содержащего степень идентификатора Xj5 например х|, учитывается в общей сложности соответствующего формального произведения в виде суммы сложностей W j (так, сложность терма х2 *w2 равна w2-w2 =2w2). Аналогичным образом, сложность формального произведения хі-\\|-х2-м2 равна Wj+2w2, а сложность терма х2 • w2 равна 3w2 .

Примем, что графической спецификацией задачияв-ляется Си - граф, в котором вершины представляют операции, а ребра графа - передачи данных между операциями [8,15]. Каждой вершине (оператору Pj) графа задачи ставятся во взаимно-однозначное соответствие два множества вершин - «сопряженное множество Sj » и «внешнее множество Wj » [15].

Сопряженное множество Sj. Произвольной вершине Pj (j = 1,2_р ) Си-графа поставим во взаимно-

однозначное соответствие сопряженное множество Sj мощности Sj = | Sj |, определяемое как множество номеров і вершин Pj графа, инцидентных входным ребрам вершины Pj ,т.е. вершин Р, непосредственно связанных с вершиной Pj ее входными ребрами.

Множество S = USj, j = 0,1.р будем называть со-

пряженным множеством Си-графа.

Внешнее множество Wj. Введем для произвольной вершины Pj (j = 0.1. ...n ) Си-графа внешнее множество Wj мощности w j =|Wj|, определяемое как множество номерові вершин Pj Си-графа, непосредственно связанных с вершиной Pj ее выходными ребрами.

Множество W = UWj. j = 0,1.р, будем называть

внешним множеством графа задачи.

Маршрутом в графе задачи [7,14] называютчереду-югцуюся последовательность вершин и ребер, начинающуюся с некоторой (входной или внутренней) вершины Р| и заканчивающуюся некоторой (внутренней или выходной) вершиной Рь , в которой каждая предшествую щая вершина является сопряженной для последующей вершины (и наоборот - каждая последующая вершина является внешней для ей предшествующей), а ребра, разделяющие вершины, задают связи между ними по данным и по управлению, а также (при необходимости) осведомительные связи. Отметим, что два различных маршрута должны отличаться, по крайней мере, одной вершиной.

РИ, 2009, № 1

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

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

Для установления такого соответствия целесообразно ввести следующие интерпретации:

-идентификатор Xj полинома поставим во взаимнооднозначное соответствие j - й вершине графа (и тем самым - оператору Pj задачи, представляемому этой вершиной);

-идентификатор "j (формальную сложность идентификатора Xj) будем трактовать как мощность Wj внешнего множества Wj; представляемого этой вершиной оператора Pj задачи;

- формальное произведение (терм) Тк = {\г • wr} (reRk, Rk - множество номеров г идентификаторов хг полинома, входящих в k-й терм) будем интерпретировать как подграф Gk Си-графа задачи;

- под сложностью терма Тк = {хг • w r J (г є Rk ) будем понимать суммарное количество «внешних» связей вершин Pj подграфа Gk с остальными вершинами графа или некоторого (выделенного тем или иным способом) подграфа Си - графа.

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

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

Логическим графом задачи будем называть результат представления исходного графа в виде совокупности «логических слоев», объединение которых содержит в своем составе все вершины и все связи исходного графа задачи.

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

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

Сложностью произвольного фрагмента называется сумма количества сопряженных стрелок всех входных

51

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

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

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

3. Постановка задачи исследования

Исходные данные:

-подлежащая решению вычислительнаязадача, представленная текстом Си-программы;

- данные об архитектуре вычислительной сети (количество NM узлов/компьютеров в ВС, тип узлов - с последовательным или параллельным выполнением операций, однотипность/гомогенность илиразнотип-ность/гетерогенность узлов).

Требуется:

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

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

4. Результаты исследования

Си-программа иллюстрационной задачи показана на рис.1.

#include <stdio.h>

#include <math.h> voidmain(void)

(inta.b.c.d.k.n.s.l.p.t.r.q.x.y;

scanf(«%d %d% d»,&a,&b); scanf(«%d %d% d»,&c,&d); k = a + c; n = a - b; z = c * d;

1 = k % n: p = sin(n); n = a - b; t = c-z; q = p * t; v = p + t; r = 1 -p;

1 = k % n;

x= !r;t = c-z;y=q + v; printf(«%4d\n»,x);printf(«%4d\n»,y);

}

Алгоритм фрагментации задач на основе аппарата формальных полиномов представляет рис. 2. Рассмотрим содержание основных этапов алгоритма.

і_______________________________

Исходные данные:

Си - программа задачи.

Тип ВС - го-могенная.

Количество узлов ВС - NM.

Узлы ВС - последовательного типа.

і— 2

Синтез спецификации задачи в виде Си - графа задачи

Декомпозиция Си - графа на слои SL(k) вершин, к= 1,2.si

_ 4

к = 1

3

, 5 ______________________________

Формирование для к - го слоя (к < si) множества формальных полиномов

Синтез вариантов покрытий слоев вершин SL(k)..

Расчет суммарной сложности (Р^вариантов покрытий вершин к - го слоя

Выбор покрытия Q(k)min минимальной сложности и расширение фрагментов

Выходные данные:

Количество и состав фрагментов задачи Оценки минимальной и максимальной сложности фрагментации задачи

Рис.2. Алгоритм фрагментации задач с использованием формальных полиномов

Пример графической спецификации Си-программы показан на рис.3. Граф содержит вершины, интерпретирующие входные данные «а, b,c,d», и вершины xl, х2, хЗ, х4,..., xl 1, которые соответствуют операциям задачи (в интересах пояснения метода фрагментации на рис.З принята нумерация вершин, обратная порядку следования операций в тексте Си-программы задачи).

52

Рис.1. Си-программа задачи

РИ, 2009, № 1

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

Содержанием этапа I (символ 2, рис.2) является построение для решаемой задачи Си - графа [15].

Содержанием этапа 2 (блок 3, рис.2) является преобразование Си-графа задачи во временной «логический» Си-граф (в предположении одинакового (равного условной единице) времени выполнения различных операций). Это достигается разделением Си-графа на логические слои SL(k) вершин, к = 1,2,...,si [15]. Пример логического графа задачи показан на рис.4.

Номера Слой Слой Слой Слой

Рис. 4. Временной логический граф

Содержанием этапа 3 (блоки 4,5, рис.2) является формирование для каждого k-го слоя (к = 1,2,...,si) набора Р(к) формальных полиномов. В состав Р(к) входят полиномы Ps(k), имеющие значения степени

s = к 2.гц, -1 (где % - количество вершин в к-м

слое SL(k)). При этом объединение (по s ) наборов Ps(k) должно содержать все вершины SL(k) к-го слоя:

Пк

U PS (k)=SL(k).

S=1

Для простоты дальнейших пояснений принимается, что сеть имеет в своем составе два компьютера (NM =2), реализующих последовательные программы - нити.

Набор формальных полиномов первого слоя (k = 1), содержащего две вершины (xj, х2), представляет собой один полином первой степени, имеющий сле-дующийвид: Р1 (к=1)=Х|(]|+\2Ч2 •

Набор формальных полиномов второго слоя (к = 2 ), содержащего три вершины (X3.X4.X5), имеет следующий вид:

- формальный полином первой степени

Р1(к = 2) xgq3 +x4q4 +x5q5;

- формальный полином второй степени

Р2 (k=2)=(x3q3 +x4q4 +x5q5) • (x3q3 +x4q4 +x5q5 )=

=ХЗЧЗ +хзЧ.Зх4Ч4 +ХЗЯЗХ5Ч5 +Х4Ч4хзЧз +

2 2 2 2 +x4q4+x4q4x5q5+x5q5x3q3+x5q5x4q4+x5q,.

РИ, 2009, № 1

Набор формалъныхполиномовтретъегослоя{ к = 3), содержащего три вершины (х6, х7, х8), имеет следующий вид:

- формальный полином первой степени

P1(k=3)=x6q6+x7q7+x8q8 .

- формальный полином второй степени:

Р2 (k=3)=(x6q6 +x7q7 +x58q8) • (x6q6 +x7q7 +x58q8 )=

=хбЧб +хбЧбх7П7 +Х6(І6Х8(І8 +Х7(І7Х6(І6 +

+x7q7 +x7q7x8q8 +x8q8x6q6 +x8q8x7q7 +x8q8.

Набор формальных полиномов четвертого слоя (к = 4), содержащего три вершины ( х9.хщ.X]| ). имеет следующий вид:

- формальный полином первой степени

P1(k=4)=x9q9+x10q10+x11q11;

- формальный полином второй степени

о

Р (k=4)=(x9q9 +x10q10 +.х, ,q, 1) • (x9q9 +x10q10 +Xj ,q, j )=

=x9q9 +x9q9x10qj 0 +x9q9xj 4q41 +хю(1іох9(І9 +x?o(lfo +

+xioQioxi іЧі і +xi 1 Qi 1 x949 +xi 1Q1 ixioQio +xi 1Q11 •

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

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

- полиномы второго слоя (к = 2 ):

P'(k=2)=x3q3+x4q4+x5q5 ;

Р2 (k=2)=x3q3x4q4 +x3q3x5q5 +x4q4x5q5;

- полиномы третьего слоя (к = 3):

P1(k=3)=x6q6+x7q7+x8q8;

Р2 (к=3 )=x6q6 x7q7 +x6q6x8q8 +.x7q 7 x8q8 ;

- полиномы четвертого слоя (к = 4 ):

P1(k=4)=x9q9+x10q10+x11q11;

Р 2 (к=4)=х 9 q9 Xj о qj о +х 9q9 х ] jqj J +xj о qj qXj J qj J .

Содержанием этапа 4 (блок 6, рис.2) является формирование вариантов покрытий для второго, третьего

и четвертого слоев SL(k) вершин:

- для второго слоя:

покрытие а) Ф1 = x3q3, Ф2 = x4q4x5q5; покрытие Ь) Ф1 = x4q4, Ф2 = x3q3x5q5; покрытие с) Ф1 = x5q5. Ф2 = x3q3.x4q4: для третьего слоя:

53

покрытие Ф1 = x6q6 , Ф2 = x7q7x8q8; покрытие Ф1 = x7q7, Ф2 = x6q6x8q8; покрытие Ф1 = x8q8, Ф2 = x6q6x7q7; для четвертого слоя: покрытие Ф1 = x9q9 , Ф2 = Xjoqioxl i4j ] 1 покрытие Ф1 = x10q10, Ф2 = x9q9xj |q, j;

покрытие Ф1 = X] jqj ]. Ф2 = x9q9x10q10 . Содержанием этапа 5 (блоки 7.8. рис.2) является:

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

- расчет сложности вариантов покрытий слоя и выбор варианта, имеющего минимальную сложность («стоимость») покрытия слоя;

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

Алгоритм выполнения пятого этапа представляетрис. 5. На рис.5 приняты следующие обозначения: SL(k), к = 1,2,...,si - слои вершин логического графа; CR1 (к) - варианты «покрытий» вершин слоя SL(k); RNj, (k) - полином с номером s покрытия слоя SL(k).

На рис. 6 представлен логический граф рассматриваемой задачи, соответствующий сформированному составу фрагментов Ф1 = {1,3,6,9,10} ,

Ф2 = { 2.4.5.7.8.11J. который имеетминимальное значение суммарной сложности обмена сообщениями между фрагментами: стрелки обмена данными между вершинами каждого из фрагментов Ф1, Ф2 обозначены тонкими линиями, а обмен между фрагментами -выделенными стрелками.

Дадим пояснения символам 6-12, рис. 5.

Первый шаг (k = 1) - начало формирования фрагментов ф! и ф2 , SL(k = 1) = (х]. х2}. Полином первой степени Р1 (к = 1) .^q, + x2q2 •

Варианты покрытий вершин слоя Г.

a) Ф1 = хрр. Ф2 = хд]2:

b) Ф1 = x2q2, Ф2 = xpj].

Поскольку нет предыстории, исходные значения стоимостей qj = 0, q2 = 0 . Принимается вариант

а): Ф1 = X]. Ф2 = х2. Общая стоимость состава фрагментов первого слоя Q(l) = 4i +q2 = 0.

Нет

Выходная информация:

Количество и состав фрагментов.

Оценка минимального числа обменов сообщениями при решении задачи.

Рис. 5. Алгоритм синтеза минимальных покрытий

54

РИ, 2009, № 1

Номера Слой Слой Слой Слой

слоев к =4 к =3 к = 2 к =1

Рис. 6. Результат фрагментации задачи, имеющий минимальную сложность обмена 0 = 1 сообщениями

Второй шаг (к = 2) ~~ второй слой

SL(k = 2) = {х3.х4.х5 j .вариантыпокрытий:

покрытие а) Ф1 = x3q3, Ф2 = x4q4x5q5;

покрытие Ь) Ф1 = x4q4, Ф2 = x3q3x5q5;

покрытие с) ®l = x5q5, ®2 = x3q3x4q4.

Исходные данные шага: Ф1 = xj, Ф2 = х2.

Для слоев с номерами к = 2,3,4 «стоимости» включения любого оператора I', в состав фрагмента Ф1 или Ф2 на k-м шаге определяются соотношениями:

Чі(фі) | Wj j -=|(Wj n Ф1(1,2,...,к -1))| I,

qj(Ф2) |Wj|^J(Wjn®2(l,2,...,k-l))| .

Для варианта а) второго шага (к = 2 ) стоимость включения вершины 3 в ф!: для W(3) = 1,

|[W(3)n®l]| |{1}п{1}]|={1};

поскольку

Wj(3) = l, q3 = wj(3)-1[ W(3)nФ1]| = 0 .

Стоимость включения вершины 3 в Ф2 : для W(3) = 1 |[W(3)n®2]| |j^]}r\J2j| = 0 ; поскольку Wj(3) = l.

q3 = wj(3)-|[W(3)n®2]| =1.

Итог - целесообразность включения вершины 3 в первый фрагмент: Ф1 =Ф1и 3 = {1-3}.

Стоимость включения вершины 4 в Ф1: для W(4) = 2|[W(4)n Ф1]| Ц={2) гї {lj]| = 0 ; поскольку

"j(4) = l, q4 = Wj(4)-|[W(3)nФ2]| = 1.

Стоимость включения вершины 4 в ф2 : для W(4) = 2|[W(4)n®2]| |={2}п{2}]| = 1; поскольку

wj(4) = I. q4 =0 .

Итог - целесообразность включения вершины 4 во второй фрагмент: Ф2 = Ф2 и 4 = {2,4} .

РИ, 2009, № 1

Стоимость включения вершины 5 в Ф1: для W(5) = 2|[W(5)n®l]| |{=і2}п{1}]| = 0 ; поскольку Wj(5) = l, q5 =Wj(5)-|[W(5)n®l]| = l.

Стоимость включения вершины 5 в ф2 : для W(5) = 2|[W(5) п Ф2] |^2}п{2}]|=1; поскольку

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

wj(5) = l, q5 =Wj(5)-|[W(5)n®2]| = 0.

Итог - целесообразность включения вершины 5 во второй фрагмент Ф2 = Ф2 и 5 = {2,4,5} .

Результат второго шага: Ф1 ={1,3}, Ф2 ={2,4,5}. Суммарная стоимость варианта «а» равна Q(2,a) = minq3+minq4-bminqj 0 + 0 + 0 = 0.

Для варианта а) третьего шага (к = 3 ) стоимость включения вершины 6 в Ф1: для

W(6) = |3j|[W(6)o®l]| |[|3}njl.3j]| = 1 ; поскольку

wj(6) = l; q6 = wj(6)-|[W(6)n®l]| = 0.

Стоимость включения вершины 6 в Ф2 : для W(6)={3}|[W(6)n®2]| |[{3}^{2,4,5}]|=0; по-

скольку Wj(6) = l; q6 = wj(6)-J[W(6)n®2]| = 1.

Итог - целесообразность включения вершины 6 в первый фрагмент: Ф1 =Ф1и 6 = {1.3.6}.

Стоимость включения вершины 7 в Ф1: для W(7) = {3,4,5}|[W(7)n®l]| |[{3=,4,5}п{1,3}]| =1, поскольку Wj(7) = 3, q7 = Wj(7)-|[W(7)n®l]| = 2 .

Стоимость включения вершины 7 в ф2 : для W(7) = {3,4,5}|[W(7) п Ф2]| |[{3,4=. 5} п{2,4,5}]| = 2 ,

поскольку wj(7) = 35 q7 = wj(7)-|[W(7)n®2]| =1.

Итог - целесообразность включения вершины 7 во второй фрагмент: Ф2 = Ф2 и 7 = {2,4,5,7} .

Стоимость включения вершины 8 в Ф1: для W(8) ={4,5}|[W(8) п Ф1]| |[{4=,5}п{1,3}]| =0 ;

поскольку wj(8) = 25 q8 = wj(8)-|| W(8)n®l]| = 2 .

Стоимость включения вершины 8 в ф2 : для W(8) = {4,5}|[W(8) п Ф2]| |[{4,5}^{2,4,5,7}]| = 2 ;

поскольку wj(8) = 25 q8 =Wj(8)-|[W(8)n®2]| = 0 .

Итог - целесообразность включения вершины 8 во второй фрагмент: Ф2 = Ф2 и 8 = {2,4,5,7,8}.

Результат третьего шага: Ф1 = {1,3,6},

Ф2 = 12.4.5.7.8) .

Суммарная стоимость варианта «а» равна Q(3,a) = minqg +minq7 +minq8 =0+1+0 1.

55

Результатами решения задачи фрагментации после завершения всех шагов (к = 1,2,3,4) являются:

- количество и оптимальный состав фрагментов задачи: Ф1 = {1,3,6,9,10}, Ф2 ={2,4,5,7,8,11};

- количество Q обменов данными между фрагментами в процессе решения задачи:

Q = Q(k = 1) + Q(k = 2) + Q(k = 3) +

+Q(k =4) 0 + 0 + 1 + 0 = 1.

Выводы

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

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

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

Литература: 1. Степанов А.Н. Архитектура вычислительных систем и компьютерных сетей. СПб.: Питер, 2007. 509 с. 2. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов. 3

- е изд. СПб: Питер, 2006. 958 с. 3. Таненбаум Э. Компьютерные сети. 4-е изд. СПб.: Питер,2005. 328 с.4. Таненбаум Э., Ван Стэн М. Распределенные системы. Принципы и парадигмы. СПб.: Питер, 2003. 568 с. 5.Барановская Т.П., Лойков В.И., Семенов М.И., Тру билин А.И. Архитектура компьютерных систем и сетей. М.: Финансы и статистика, 2003. 346 с. 6. Лацис А. Как построить и использовать суперкомпьютер. М.: Бестселлер, 2003. 240 с. 7. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. СПб.: БХ В-Петербург, 2002. 599 с.8. Поляков Г.А. Адаптивные самоорганизующиеся системы с мультипараллельной об-

работкой данных - стратегия развития цифровой вычислительной техники в XXI веке // Прикладная радиоэлектроника. 2002. Т. 1,№1. С.57-69. 9.БертсекасД, Галлагер Р. Сети передачи данных: Пер. с англ. М.: Мир, 1989. 544 с. 10. Рейнгольд, Ю. Нивергельт, Н. Део. Комбинаторные алгоритмы. Теория и практика: Пер. с англ. М.: Мир, 1980. 476 с. 11. Толстолужская Е.Г. Метод фрагментации временных параллельных графов алгоритмов // Сб. науч. тр. /Информационные спет., НАНУ, Петровская АНИ, 1999. Вып. 1(12). С.63 -67. 12. Buck J, На S., A.Lee Е., and Messerschmitt D.G. «Ptolemy: A Framework for Simulating and Prototyping Heterogeneous Systems,» International Journal of Computer Simulation, special issue on Simulation Software Development, to apprear 1994. 259 c.13. Бронштейн И.Н., Семендяев K.A. Справочник по математике. Для инженеров и учащихся втузов. М.: НАУКА, 1981. 720 с. U. Оре О. Теорияграфов.М.: НАУКА, 1968.336 с. 15. Поляков Е.А., Умрихин Ю.Д. Автоматизация проектирования сложных цифровых систем коммутации и управления. М.: Радио и связь, 1988. 304 с.

Поступила в редколлегию 14.03.2009

Рецензент: д-ртехн. наук Баранник В.В.

Поляков Геннадий Алексеевич, д-р техн. наук, профессор, академик АН ПРЭ, Академия наук прикладной радиоэлектроники. Научные интересы: адаптивные самоорганизующиеся вычислительные системы и технологии автоматического проектирования их мультипараллельного аппаратно-программного обеспечения. Адрес: Россия, Московская обл., г. Королев, мкр. Текстильщик, ул. Советская, д. 22, кв. 13.

Т олстолужская Елена Г еннадиевна, кан д. техн. наук, старший научный сотрудник Научного центра Воздушных Сил Харьковского университета Воздушных Сил. Научные интересы: методы формального синтеза мультипараллельных аппаратных и программных средств. Адрес: Украина, 61000, Харьков, ул. Клочковская, д. 186 б, кв.48.

Шматков Сергей Игоревич, канд. техн. наук, доцент, академик АН ПРЭ, заведующий кафедрой теоретической и прикладной системотехники факультета компьютерных наук Харьковского национального университета им. В.Н. Каразина. Научные интересы: архитектура, методы и модели адаптивных вычислительных сетей. Адрес: Украина, 61166, Харьков, ул. Ленина, д.ЗБ, кв.67.

Г.Р. Геахпур, аспирант ХНУ имени В.Н. Каразина. Научные интересы: методы статико-динамической фрагментации задач для адаптивных вычислительных сетей. Адрес: Иран, Тегеран, пер. Шалаб, д.З.

56

РИ, 2009, № 1

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