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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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

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

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

 

Естественной и адекватной моделью распределения задач по процессорам кластера является взвешенный неориентированный граф 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 и обеспечат достижение заданного ускорения.

 

 



Поделиться:


Последнее изменение этой страницы: 2024-07-06; просмотров: 33; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.006 с.)