МарГТУ 2008 г

advertisement
Распределенные вычисления
Оценка коммуникационной
трудоемкости параллельных
алгоритмов
Лекция 4
Подготовил: Хованский Е. П.
МарГТУ
2008 г.
1
1. Топологии сети передачи
данных
МарГТУ
2008 г.
2
МарГТУ
2008 г.
3
N-мерный Гиперкуб




 процессор связан с N соседями;
N-ый гиперкуб = два (N-1)-ых гиперкуба;
N различных таких разбиений;
Кратчайший путь (расстояние - r) между  двумя процессорами – расстояние
Хэмминга.
МарГТУ
2008 г.
4
Характеристики топологии сети




Диаметр – max (r) между двумя процессорами;
связность (connectivity) – наличие различных
маршрутов;
ширина бинарного деления (bisection width) –
минимальное количество дуг для разбиение сети
на несвязные области;
Стоимость – общее количество линий передачи
даных.
МарГТУ
2008 г.
5
Характеристики топологии сети
p/2
Таблица 1.1. Характеристики топологий сети передачи данных (p – количество
процессоров)
Топология
Диаметр
Ширина
Связность бисекции
Стоимость
Полный граф
1
p2/4
p–1
p(p–1)/2
Звезда
2
1
1
p–1
2log((p+1)/2)
1
1
p–1
p–1
1
1
p–1
2
2
p
Полное двоичное дерево
Линейка
Кольцо
Решетка N=2
2
Решетка-тор N=2
4
2p
log p
(p log p)/2
Гиперкуб
МарГТУ
log p
2008 г.
p/2
6
2. Общая характеристика
механизмов передачи данных
МарГТУ
2008 г.
7
Алгоритмы маршрутизации


оптимальные, определяющие всегда
наикратчайшие пути передачи данных, и
неоптимальные алгоритмы маршрутизации;
детерминированные и адаптивные методы
выбора маршрутов (адаптивные алгоритмы
определяют пути передачи данных в зависимости
от существующей загрузки коммуникационных
каналов).
МарГТУ
2008 г.
8
Оптимальные алгоритмы
покоординатной маршрутизации


XY-маршрутизации для двухмерной
решетки;
Для гиперкуба циклическая передача
данных процессору.
МарГТУ
2008 г.
9
Методы передачи данных.
Основные параметры


время начальной подготовки (tн) характеризует
длительность подготовки сообщения для передачи,
поиска маршрута в сети и т. п.;
время передачи служебных данных (tс) между двумя
соседними процессорами. К служебным данным
может относиться заголовок сообщения, блок данных
для обнаружения ошибок передачи и т. п.;
МарГТУ
2008 г.
10
Методы передачи данных.
Основные параметры

время передачи одного слова данных по одному
каналу передачи данных (tк). Длительность подобной
передачи определяется полосой пропускания
коммуникационных каналов в сети.
МарГТУ
2008 г.
11
Методы передачи данных


метод передачи сообщений или МПС.
Метод передачи пакетов или МПП.
МарГТУ
2008 г.
12
Метод передачи сообщений




Сообщения неделимы.
1-ый процессор готовит весь объем данных и
отправляет.
2-ой процессор принимает данные полностью.
2-ой процессор приступает к обработке или
пересылке данных.
МарГТУ
2008 г.
13
Метод передачи сообщений
tпд – время пересылки.

m – размер сообщения в байтах.

l - длина маршрута.
при больших l:

МарГТУ
2008 г.
14
Метод передачи пакетов


Сообщения разделяются на пакеты.
2-ой процессор может приступить к обработке или
пересылке данных сразу после приема 1-ого пакета.
Время пересылки:
МарГТУ
2008 г.
15
Метод передачи пакетов
Плюсы:

более быстрая пересылка;

снижает потребность в памяти.
Недостатки:

требует разработки более сложного аппаратного и
программного обеспечения сети.
МарГТУ
2008 г.
16
3. Анализ трудоемкости
основных операций передачи
данных
МарГТУ
2008 г.
17
Передача данных между двумя
процессорами сети
Таблица 3.1. Время передачи данных между двумя процессорами
(Трудоемкость)
Топология
Передача сообщений
Передача пакетов
Кольцо
Решетка-тор
Гиперкуб
МарГТУ
2008 г.
18
От одного процессора всем
процессорам одного сообщения


one-to-all broadcast или single-node broadcast
single-node accumulation – обратная
операция (все - одному).
МарГТУ
2008 г.
19
Передача сообщений. Кольцевая
топология.


передачу данных сразу двум своим соседям,
которые, в свою очередь, приняв сообщение,
организуют пересылку далее по кольцу.
Трудоемкость выполнения операции:
МарГТУ
2008 г.
20
Передача сообщений. Решеткатор


организуется передача сообщения всем процессорам
сети, располагающимся на той же горизонтали решетки,
что и процессор – инициатор передачи;
процессоры, получившие копию данных на первом
этапе, рассылают сообщения по своим соответствующим
вертикалям.
МарГТУ
2008 г.
21
Передача сообщений. Гиперкуб.
N-этапная процедуры передачи данных:
1.
2.
процессор-источник сообщения передает данные
одному из своих соседей;
два процессора пересылают сообщение своим
соседям по второй размерности и т. д.
МарГТУ
2008 г.
22
Передача пакетов. Кольцевая
топология.


источник сообщения передает данные процессору,
находящемуся на расстоянии p/2 от исходного
процессора;
оба процессора передают сообщения процессорам,
находящимся на расстоянии p/4, и т.д.
МарГТУ
2008 г.
23
Передача пакетов. Решетка-тор

способа передачи данных, примененного для
кольцевой структуры сети, в соответствии с тем же
способом обобщения, что и в случае использования
метода передачи сообщений.
МарГТУ
2008 г.
24
Передача пакетов. Гиперкуб.
N-этапная процедуры передачи данных:
1.
2.
процессор-источник сообщения передает данные
одному из своих соседей;
два процессора пересылают сообщение своим
соседям по второй размерности и т. д.
МарГТУ
2008 г.
25
Обобщенная передача от одного
процессора всем процессорам


все сообщения являются различными (one-to-all
personalized communication или single-node scatter)
Двойственная операция передачи для данного типа
взаимодействия процессоров – обобщенный прием
сообщений (single-node gather) на одном процессоре
от всех остальных процессоров сети
МарГТУ
2008 г.
26
Обобщенная передача от одного
процессора всем процессорам

Процессор – инициатор рассылки посылает каждому
процессору сети сообщение размера m.


нижняя оценка длительности выполнения операции
характеризуется величиной: mtk(p–1).
МарГТУ
2008 г.
27
Пример. Гиперкуб

инициатор рассылки передает половину своих
сообщений одному из своих соседей


Каждый половинный гиперкуб рассылает половину
сообщений соседу и т. д.
МарГТУ
2008 г.
28
От всех процессоров всем
процессорам сети


Обобщенная передача данных от всех процессоров
всем процессорам сети (total exchange)
представляет собой наиболее общий случай
коммуникационных действий.
Используется в параллельных алгоритмах быстрого
преобразования Фурье, транспонирования матриц и
др.
МарГТУ
2008 г.
29
Передача сообщений. Кольцевая
топология

Каждый процессор производит передачу всех своих исходных
сообщений своему соседу по кольцу;
процессоры осуществляют прием направленных к ним данных;
выбирают свои сообщения.

дальнейшая рассылка оставшейся части данных.


МарГТУ
2008 г.
30
Передача сообщений. Решеткатор



передача сообщений раздельно по всем процессорам сети на
горизонталях решетки;
на каждом процессоре собираются p сообщений,
предназначенных для рассылки по одной из вертикалей
решетки;
рассылка данных выполняется по процессорам сети,
образующим вертикали решетки.
МарГТУ
2008 г.
31
Передача сообщений. Гиперкуб
обобщения способа выполнения операции для
топологии типа решетка на размерность гиперкуба N:

На каждом этапе i, 1 < i < N, выполнения алгоритма
функционируют все процессоры сети, которые
обмениваются своими данными со своими соседями
по i-й размерности и формируют объединенные
сообщения;
МарГТУ
2008 г.
32
Передача сообщений. Гиперкуб


канал связи - связующий элемент двух равных по размеру
подгиперкубов исходного гиперкуба.
каждый процессор пары посылает другому процессору только
те сообщения, что предназначены для процессоров соседнего
подгиперкуба.
МарГТУ
2008 г.
33
Передача пакетов. Гиперкуб
рассылка может быть выполнена за p-1 итерацию:

каждой итерации все процессоры разбиваются на
взаимодействующие пары процессоров;

передаваемые между разными парами сообщения
не используют одни и те же пути передачи данных.
МарГТУ
2008 г.
34
Циклический сдвиг


Частный случай обобщенной множественной
рассылки есть процедура перестановки
(permutation)
вариант перестановки – циклический q-сдвиг
(cirlular q-shift), при котором каждый процессор i,
1 < i < N, передает данные процессору с номером:
МарГТУ
2008 г.
35
Циклический сдвиг. Передача
сообщений. Решетка-тор
процессоры перенумерованы по строкам решетки от
0 до p-1:

циклический сдвиг с шагом по каждой строке в
отдельности;

реализуется циклический сдвиг вверх с шагом для
каждого столбца решетки
МарГТУ
2008 г.
36
Циклический сдвиг. Передача
сообщений. Гиперкуб


Путем логического представления топологии гиперкуба в
виде кольцевой структуры;
Для  двух вершин в кольце, расстояние между
которыми равно l=2 i для i, путь между соответствующими
вершинами в гиперкубе содержит только две линии
связи.
МарГТУ
2008 г.
37
Схема отображения гиперкуба на
кольцо

в кружках приведены номера процессоров гиперкуба;
МарГТУ
2008 г.
38
Циклический сдвиг. Передача
сообщений. Гиперкуб


На каждом этапе выполняется операция сдвига с
величиной шага, задаваемой наиболее старшей
ненулевой позицией значения q.
i
Выполнение каждого этапа (кроме сдвига с шагом
1) состоит в передаче данных по пути,
включающему две линии связи.
МарГТУ
2008 г.
39
Циклический сдвиг. Передача
пакетов



отправления каждым процессором всех пересылаемых
данных непосредственно процессорам назначения;
Применение метода покоординатной маршрутизации (см
.выше);
Длина наибольшего пути: log2p-γ(q), где γ(q) есть
j
наибольшее целое значение j такое, что 2 есть делитель
величины сдвига q.
МарГТУ
2008 г.
40
Циклический сдвиг. Передача
пакетов


при m>>1;
tc(log2p-γ(q))<<m.


Трудоемкость выполнения операции:
МарГТУ
2008 г.
41
4. Методы логического
представления топологии
коммуникационной среды
МарГТУ
2008 г.
42
Методы логического представления
топологии коммуникационной среды


ряд алгоритмов передачи данных излагаются проще при
использовании определенных топологий сети;
многие методы коммуникации могут быть получены при
помощи логического представления исследуемой топологии;


Важным моментом при организации параллельных вычислений
– возможность логического представления разнообразных
топологий на основе конкретных межпроцессорных структур.
МарГТУ
2008 г.
43
Три основные характеристики
отображения топологий



уплотнение дуг (congestion): максимальное количество дуг
логической топологии - в одну линию передачи физической
топологии;
удлинение дуг (dilation): путь максимальной длины
физической топологии, на который отображается дуга
логической топологии;
увеличение вершин (expansion): отношение количества
вершин в логической и физической топологиях.
МарГТУ
2008 г.
44
4.1. Представление кольцевой
топологии в виде гиперкуба
МарГТУ
2008 г.
45
Код Грея


при помощи двоичного рефлексивного кода Грея
G(i, N) (binary reflected Gray code):
где i задает номер значения в коде Грея, а N есть длина
этого кода.
МарГТУ
2008 г.
46
Важное свойство кода Грея

соседние значения G(i,N) и G(i+1,N) имеют только
одну различающуюся битовую позицию.


соседние вершины в кольцевой топологии
отображаются на соседние процессоры в гиперкубе.
МарГТУ
2008 г.
47
Отображение кольцевой топологии
на гиперкуб при помощи кода Грея
Код Грея для N=1
Код Грея для N=2
Код Грея для N=3
Номера процессоров
гиперкуба
кольца
0
00
000
0
0
1
01
001
1
1
11
011
3
2
10
010
2
3
110
6
4
111
7
5
101
5
6
100
4
7
МарГТУ
2008 г.
48
Отображение топологии решетки
на гиперкуб



Отображение топологии решетки на гиперкуб может быть
выполнено в рамках подхода, использованного для кольцевой
структуры сети.
Тогда для отображения решетки
на гиперкуб
размерности N=r+s можно принять правило, что элементу
решетки с координатами (i, j) соответствует процессор
гиперкуба с номером:
G(i,r) || G(j,s), где операция || означает конкатенацию кодов
Грея.
МарГТУ
2008 г.
49
5. Оценка трудоемкости
операций передачи данных
для кластерных систем
МарГТУ
2008 г.
50
Модель кластера (модель A)


Полный граф. Пакетный способ передачи
сообщений.
трудоемкость операции коммуникации
между двумя процессорными узлами:
МарГТУ
2008 г.
51
Расширенная модель кластера
(Модель B)



, где
Vmax - максимальный размер пакета.
Vc - объем служебных данных в пакете


- аппаратная составляющая латентности

- время подготовки одного байта данных для передачи
МарГТУ
2008 г.
52
Модель B. Величина латентности

- с учетом с пересылкой по
сети предшествующих пакетов
МарГТУ
2008 г.
53
Правило вычисления времени
передачи данных

- эффект увеличения объема передаваемых данных при
росте числа пересылаемых пакетов за счет добавления
служебной информации (заголовков пакетов).
МарГТУ
2008 г.
54
Модель Хокни (Модель C)

- эффект увеличения объема передаваемых данных при
росте числа пересылаемых пакетов за счет добавления
служебной информации (заголовков пакетов).
МарГТУ
2008 г.
55
Сравнение моделей



значение латентности tн для моделей A и C - время
передачи сообщения нулевой длины;
величина пропускной способности R оценивалась
максимальным значением скорости передачи
данных:
и полагалось tк=1/R;
значения величин и оценивались при помощи
линейной аппроксимации времен передачи
сообщений размера от 0 до Vmax.
МарГТУ
2008 г.
56
Погрешность моделей
трудоемкости
Объем
сообщения
(байт)
Погрешимость теоретической оценки
времени передачи данных, %
Время
передачи
(мкс)
Модель A
Модель B
Модель C
2000
495
33,45
7,93
34,80
10000
1184
13,91
1,70
14,48
20000
2055
8,44
0,44
8,77
30000
2874
4,53
-1,87
4,76
40000
3758
4,04
-1,38
4,22
50000
4749
5,91
1,21
6,05
60000
5730
6,97
2,73
7,09
МарГТУ
2008 г.
57
Модель Хокни


где есть латентность сети передачи данных (т.е.
=tн)
β пропускная способность сети (т.е. β=R=1/tк).
МарГТУ
2008 г.
58
Спасибо за внимание!
МарГТУ
2008 г.
59
Download