
LECTION COMP.ppt
- Количество слайдов: 17
www. ibs. ru Вставьте картинку ОПТИМИЗАЦИЯ РАСПРЕДЕЛЕНИЯ ПРОГРАММ В СЕТЕВЫХ АРХИТЕКТУРАХ Рациональное распределение фрагментов сложной параллельной программы между процессорными элементами (ПЭ) сетей обеспечивает минимизацию времени выполнения программы. Ограничения на ПЭ (pi ) в сетях с фиксированной топологией • на объем памяти, на число внешних физических связей, на производительность сообщения между ПЭ через механизм обмена
Общее время решения задачи для ПЭ ● При выполнении программы в сети ПЭ может находиться в одном из трех состояний: вычислений, обмена сообщениями, ожидания (в силу запаздывания с обменом сообщениями). Время решения задачи для ПЭ pi: T(pi) = TB(pi) + TС(pi) + TО(pi) ● TB(pi) – суммарное время вычислений при выполнении всех операций фрагмента/программы, отображенных на pi (может меняться, но суммарное время вычислений по всем ПЭ сети остается неизменным) ● TС(pi) – суммарное время обмена информацией при выполнении фрагмента/программы ПЭ pi при заданном отображении (зависит от варианта распределения фрагментов программы между ПЭ сети ); ● TО(pi) - время ожидания, равное максимально возможной величине запаздывания в обмене сообщениями (выбирается равным максимально возможной величине запаздывания в обмене сообщениями для заданной топологии сети); Время выполнения задачи в сети 1
Формулировка задачи отображения ПП на заданную МПС Задача отображения ПП на заданную МПС: Группирование элементов/фрагментов исходной программы в более крупные блоки с целью минимизации объема информационного обмена с тем, чтобы ●итоговое число блоков было минимальным и не превышало число ПЭ сети; ●объем памяти, занимаемой выделенным блоком ПП не превышал ограничений по памяти ПЭ; ●в состав блока не входили параллельные фрагменты программы; ●вычислительная нагрузка блоков была сбалансирована 2
Пример распределения фрагментов параллельной программы между ПЭ сети Условия кодирования: Лог. верш. и вершины разветвления и слияния кодируются совместно с операторной вершиной Ограничения: В ПЭ <=3 оп. верш. 1 2 3 5 1 2 5 3 4 4 N=10 3
Пример распределения фрагментов параллельной программы между ПЭ сети 1 2 4 3 1 4 5 2 3 5 N=8 4
ИСХОДНЫЕ ДАННЫЕ В ЗАДАЧЕ РАСПРЕДЕЛЕНИЯ ПРОГРАММЫ В МНОГОПРОЦЕССОРНОЙ АРХИТЕКТУРЕ 1. Графовая модель G(X, U) программы (wi) Хi (eij) Хj Способ задания G(X, U) Матрица (wj) смежности wi - объем памяти для записи фрагмента программы eij - объем передаваемой информации между вершинами ( ) , где , если вершины связывает дуга uij. aij = 0, если вершины не связаны. 5
ИСХОДНЫЕ ДАННЫЕ В ЗАДАЧЕ РАСПРЕДЕЛЕНИЯ ПРОГРАММЫ В МНОГОПРОЦЕССОРНОЙ АРХИТЕКТУРЕ 2. Допустимость к размещению в одном вычислителе пар фрагментов программы (пар вершин графа G(X, U) ) Матрица допустимых размещений, где 1, если вершины допустимы pij = к размещению в одном вычислителе , 0, если иначе. 3. Максимальная загрузка памяти ПЭ сети - (w 0) 6
ПРИМЕР ИСХОДНЫХ ДАННЫХ ДЛЯ РАСЧЕТА Граф программы x 1 x 4 x 3 x 2 А= x 5 x 6 x 7 x 8 x 1 x 4 x 3 1 4 1 4 1 1 x 2 x 5 x 6 x 7 x 8 1 4 1 1 1 4 4 1 1 4 1 4 4 4 1 4 7
ПРИМЕР ИСХОДНЫХ ДАННЫХ ДЛЯ РАСЧЕТА Допустимость совместного расположения пар вершин х1 х2 х1 х3 1 х5 х6 х7 х8 0 х2 1 0 х3 P= х4 0 1 х4 х5 0 1 х6 х7 х8 0 1 0 0 1 1 8
ПРИМЕР ИСХОДНЫХ ДАННЫХ ДЛЯ РАСЧЕТА Исходный вариант распределения вершин 1 . . . 5 12 24 1. A=. . 5 12 24 . . . k Aii – структура связей внутри подграфов Gi i=1, 2, …, k Aij – структура связей между подграфами Gi, Gj i, j = 1, 2, …, k, i j k 9
ФОРМУЛИРОВКА ЗАДАЧИ ДЕКОМПОЗИЦИИ ГРАФОВОЙ МОДЕЛИ ПРОГРАММЫ Требуется разбить граф G(X, U) на части B(G)={G 1, G 2, …, GK} таким образом, чтобы суммарный вес ребер, соединяющих части Gi, Gj (i, j=1, 2, . . . , К; i j ), стремился к минимуму i j (1) При ограничениях (2) , , (3) где Nk – множество номеров вершин подграфа Gk G. 10
Вариант разрезания графа программы G(X, U) на К частей 1 . . . 1. A=. . k . . . k x 1 x 4 x 3 x 2 А= x 5 x 6 x 7 x 8 x 1 x 4 x 3 1 4 1 4 1 1 x 2 x 5 x 6 x 7 x 8 1 4 1 1 1 4 4 1 1 4 1 4 4 4 1 4 Аii (i=1, 2, . . , K) - структура связей вершин внутри подграфов {Gi}; Аij(i j) - связность между подграфами Gi и Gj. 11
КРИТЕРИЙ ЭФФЕКТИВНОСТИ ПАРНОЙ ПЕРЕСТАНОВКИ Число связности вершины xm Хj Хk Хm Gr Gt Хn Хf Хr (4) где t = 1, 2, …, K; , Nt, Nr – множества номеров вершин подграфов Gt и Gr. , внутренняя и внешняя связность вершины Xm 12
КРИТЕРИЙ ПАРНОЙ ПЕРЕСТАНОВКИ ВЕРШИН Число внешних связей (> 0 ) – уменьшится, ( = 0 ) - не изменится ( < 0 ) - увеличится - число связности вершины xm , (5) - число связности вершины xn , - число связей между вершинами xm , xn 13
АЛГОРИТМ ДЕКОМПОЗИЦИИ В матрице смежности А выделить подматрицы Аij (i, j=1, 2, . . , К), соответствующие начальному варианту разбиения графа на К подграфов с учётом ограничений (2), (3). Определить значения чисел связности для всех вершин при их потенциальных перестановках в подграфы Gt(t=1, 2, . . . , K, ) по формуле (4). Определить по формуле (5) приращения связей между подграфами (Gi, Gt) при парных перестановках вершин xm, xn с учетом ограничений (2), (3). Выбрать максимальное положительное приращение и переставить соответствующие строки и столбцы исходной матрицы. Приняв полученную матрицу в качестве исходной, перейти к (п. 2). 14
ПРИМЕР РАСЧЕТА ИТЕРАЦИИ ПАРНОЙ ПЕРЕСТАНОВКИ x 1 x 4 x 3 x 2 x 5 x 6 x 7 x 8 x 1 x 4 x 3 x 2 x 5 1 1 4 4 1 1 4 1 4 1 1 1 4 1 х1 х2 х1 х3 х4 1 х5 x 6 1 4 1 x 7 x 8 4 1 1 4 4 х6 х7 х8 0 х2 1 0 х3 0 1 х4 х5 0 1 х6 х7 х8 0 1 0 0 1 Числа связности вершин xi (xi G 1) (xi G 2) (xi G 3) x 1 x 4 x 3 - 5 -4 -5 4 -3 -3 x 2 x 5 x 6 -4 2 -4 - -1 3 -1 x 7 x 8 x 9 5 3 0 4 9 0 - 1 15
ПРИМЕР РАСЧЕТА ИТЕРАЦИИ ПАРНОЙ ПЕРЕСТАНОВКИ x 1 x 4 x 3 x 2 x 5 x 6 x 7 x 8 x 1 x 4 x 3 x 2 x 5 1 1 4 4 1 1 4 1 4 1 1 1 4 1 х1 х2 х1 х3 х4 1 х5 x 6 1 4 1 x 7 x 8 4 1 1 4 4 1 4 х7 х8 0 х2 1 0 х3 0 х5 0 х8 x 4 x 3 x 2 x 5 * G 1 x 3 -1 * -9 x 5 x 7 x 8 x 9 * 1 * 4 * -8 * -2 * * * 0 * -3 * * 10 3 * * * G 2 x 6 x 7 1 0 0 1 х6 х7 x 1 x 6 1 х4 xj x 2 4 х6 Приращения связей 1 0 G 3 x 9 0 0 0 x 8 1 1 16
LECTION COMP.ppt