Постановка задачи оптимального разбиения графов




Поиск минимального разбиения множества вершин взвешенного графа, с. 1..13.

Постановка задачи оптимального разбиения графов

 

Естественной и адекватной моделью распределения задач по процессорам кластера является взвешенный неориентированный граф G, который задан множеством вершин V и множеством рёбер U: G(V, E). Кроме того, на множестве вершин определена неотрицательная функция F1(V), а на множестве рёбер также неотрицательная функция F2(E). Значения функции F1 называются весами вершин графа, а значения функции F2 – весами рёбер графа. Каждая вершина этого графа представляет собой одну из задач, а вес этой вершины - число операций, выполняемых при решении этой задачи. Вес ребер моделирует коммуникационные затраты на обмен данными между задачами, соответствующими вершинам, соединенным этими ребрами. С помощью этой модели распределение задач по процессорам представляется как разбиение множества вершин графа V на непересекающиеся подмножества, которое порождает разбиение графа G(V,E) на непересекающиеся подграфы. При этом каждый подграф ассоциируется с некоторым процессором, который будет использоваться для решения всех задач, соответствующих вершинам этого подграфа. Таким образом, оптимальное распределение вычислительной нагрузки между доступными процессорами сводится к оптимальному разделению графа G(V, E). Критериями оптимальности могут быть: 1) равенство сумм весов вершин подграфов, 2) минимальность суммы весов ребер, соединяющих вершины, принадлежащие разным подграфам; 3) число подграфов.

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

Задача оптимального разделения графа является NP – полной и, как показывает анализ состояния исследований в этой области, в общей постановке задача эта задача решается только в узком диапазоне значений параметров k, n, m. На практике обычно оптимальное разделение графа выполняется для некоторого частного случая, например: 1) веса вершин и ребер графа равны 1 и в качестве приоритетного критерия используется либо условие 1, либо условие 2; 2) веса вершин различны, веса ребер равны 0, и в качестве критерия оптимальности используется только условие 1. В последнем частном случае задача оптимального разделения графа сводится к задаче оптимального разбиения множества, для решения которой может быть применён метод ветвей и границ [1]. Ниже описывается постановка задачи (модель) оптимального разбиения вершин графа, критерий решения которой предполагает балансировку сумм вычислительных нагрузок и коммуникационных затрат, требуемых для решения задач, ассоциированных с каждым процессором. На основе указанной модели предлагается комбинаторный подход к поиску минимального разбиения множества вершин графа G(V, E), основанный на конструктивном перечислении вариантов разбиений указанного множества. Целью этого поиска минимального разбиения множества вершин графа является определение минимального количества процессоров, совокупность которых обеспечивает заданное ускорение

Пусть задан неориентированный взвешенный граф G(V,E) с числом вершин равным n: V={v1,…,vn}, и числом рёбер равным m: E ={e1,…,em}. Функция F1 ставит в соответствие каждой вершине графа vi ее вес qi, аналогично функция F2 ставит в соответствие каждому ребру графа ei его вес ri. Такой граф определяет, что при использовании одного процессора все задачи могут быть решены в результате выполнения T1 операций, где T1 представляет собой сумму весов всех вершин множества V: T1= F1(V).

Теперь рассмотрим разбиения множества вершин V графа G(V,E) на k непересекающихся подмножеств P={V1,…,Vk}. Этими подмножествами вершин определяются подграфы G1(V1,E1),…, Gk(Vk,Ek), для которых выполняются следующие соотношения:

1) ∀ i,j ∈{1, 2, …, k} (i≠ j) ⇒ Vi ⋂ Vj =∅; 2) V1⋃ V2 ⋃ …⋃Vk=V;
3) n1 + n2 + …+ nk = n, где n1= |V1|, n2=|V2|, …, nk=|Vk|, n=|V|.

Будем считать, что при заданном разбиении число операций выполняемых i-тым процессором определяется как сумма весов вершин
i-того подмножества: Qi =∑ F1(Vi). Пусть C (Vi, Vj) множество рёбер, соединяющих вершины из множества Viс вершинами множества Vj: C (Vi, Vj) = {(u,w)|u∈Vi,w∈Vj}. Тогда сечением Ri по подмножеству Viграфа G(V,E) будем называть совокупность ребер, соединяющих вершины принадлежащие множеству Viс вершинами, не принадлежащими этому множеству: Ei=⋃j(C (Vi, Vj)), где i≠j. Тогда затраты на передачу и получение информации i-тым процессором можно определить как сумму весов рёбер i-того сечения: Ri= F2 (Ei). Исчисляемое в числе операций время решения всех задач для данного разбиения с использованием k процессоров будет равно: Tk=max((Qi + Ri), где i=1, 2, …, k).

Далее пусть задан требуемый коэффициент ускорения S. Тогда поиск минимального разбиения множества вершин графа G(V,E) сводится к поиску разбиения, минимального по числу непересекающиеся подмножеств P={V1,…,Vk}, для которого выполняются условия достижения заданного ускорения: max((Qi + Ri), где i=1, 2, …, k)≤ T1/S. (1.1)

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

 

 

2. Проверка монотонности зависимости Tk от числа процессоров к

 

Результаты теоретического анализа предложенных вычислительных схем и экспериментального исследования временной сложности алгоритма Eq2_1 показали эффективность этого математического обеспечения. Но эта эффективность основывалась на неявном предположении о монотонном убывании значений функции Tk, удовлетворяющего соотношению (1.1), при увеличении числа процессоров k. Проверка монотонности Tk выполнялась с использованием статистического моделирования: в каждой точке эксперимента рассчитывалась матрица смежности вершин взвешенного графа (матрица A), который затем подвергался разбиению. Каждая экспериментальная точка характеризовалась числом вершин в графе (n =10, 11, …, 15) и диапазоном отклонения весов вершин и рёбер графа от среднего значения (dtmax=10, 20, …50). При генерации случайных значений матрицы матрица A, подчиняющихся равномерному распределению, использовались стандартные функции языка Си [2, стр. 753]. В ходе вычислительного эксперимента анализировались все возможные варианты разбиения множества V. Эти варианты разбиений были разбиты на классы эквивалентности, каждый из которых включал в себя разбиения с одинаковым числом подмножеств (np). Это число подмножеств являлось номером соответствующего класса эквивалентности. Таким образом, классы эквивалентности получили номера 1, 2, …, n, где n – это число вершин в графе G(V,E). Для каждого класса эквивалентности определялось разбиение, обеспечивающее минимизацию функции Tk.

Основные результаты вычислительного эксперимента с программной реализацией приведённого выше алгоритма представлены в таблицах 1, 2.

Таблица 1

np Функция max((Qi + Ri), где i=1, 2, …, k), n= 10, kf=5
  dtmax=10 dtmax=20 dtmax=30 dtmax=40 dtmax=50
  1047.93 1109.71 1204.94 1207.09 1326.16
  1046.84 1099.97 1183.43 1197.96 1278.16
  912.141 939.28 990.687 999.382 1075.45
  748.269 781.278 830.781 840.565 892.291
  547.908 573.773 628.536 631.851 665.934
  542.773 572.548 608.786 626.196 659.396
  542.584 566.843 606.34 607.744 648.45
  540.253 559.112 589.004 600.598 636.543
  538.378 553.213 584.825 589.711 623.346
  300.195 321.148 345.694 359.529 382.16

 

Таблица 2

np Функция S, n= 10, kf=10
  dtmax=10 dtmax=20 dtmax=30 dtmax=40 dtmax=50
  1055.85 1085.55 847.791 1224.94 1281.17
  788.788 815.194 685.55 911.122 951.402
  663.544 670.366 558.81 729.754 752.192
  532.374 542.54 409.554 598.506 620.633
  380.065 393.036 403.619 442.324 462.905
  378.611 389.079 396.358 432.056 450.07
  375.762 384.239 390.168 428.051 445.064
  374.347 380.112 382.772 412.031 425.039
  370.591 375.182 233.047 408.587 420.734
  203.888 218.698 847.791 246.71 260.888

 

 

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

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-10-21 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: