Интернет Университет Суперкомпьютерных технологий

Содержание

Слайд 2

… если для нас представляют интерес реально работающие системы, то требуется

… если для нас представляют интерес реально работающие системы, то требуется убедиться,
убедиться, (и убедить всех сомневающихся) в корректности наших построений
… системе часто придется работать в невоспроизводимых обстоятельствах, и мы едва ли можем ожидать сколько-нибудь серьезной помощи от тестов
Dijkstra E.W.
1966

Предварительные замечания

Москва, 2010 г.


Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Слайд 3

Методы построения параллельных алгоритмов и их свойства:
Статическая балансировка
метод сдваивания
геометрический параллелизм
конвейерный параллелизм
Динамическая балансировка
коллективное

Методы построения параллельных алгоритмов и их свойства: Статическая балансировка метод сдваивания геометрический
решение
диффузная балансировка загрузки

Содержание лекции

Москва, 2010 г.


Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Слайд 4

Метод сдваивания

Москва, 2010 г.

Каскадная схема
Модифицированная каскадная схема В.П.Гергель Основы параллельных вычислений, лекция

Метод сдваивания Москва, 2010 г. Каскадная схема Модифицированная каскадная схема В.П.Гергель Основы
4, слайд 23


Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Слайд 5

Стена Фокса

Москва, 2010 г.

n – ширина стены
к – высота стены


Введение в

Стена Фокса Москва, 2010 г. n – ширина стены к – высота
параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Слайд 6

Метод геометрического параллелизма

Москва, 2010 г.


Введение в параллельные алгоритмы: Методы построения параллельных

Метод геометрического параллелизма Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения
программ © Якобовский М.В.

Слайд 7

Метод коллективного решения (укладка паркета)

Москва, 2010 г.


Введение в параллельные алгоритмы: Методы

Метод коллективного решения (укладка паркета) Москва, 2010 г. Введение в параллельные алгоритмы:
построения параллельных программ © Якобовский М.В.

Слайд 8

Метод коллективного решения (укладка паркета)

Москва, 2010 г.

Число порций

Обработка порции

Обмен данными

r – размер

Метод коллективного решения (укладка паркета) Москва, 2010 г. Число порций Обработка порции
порции


Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Слайд 9

Метод конвейерного параллелизма

Москва, 2010 г.


Введение в параллельные алгоритмы: Методы построения параллельных

Метод конвейерного параллелизма Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения
программ © Якобовский М.В.

Слайд 10

Москва, 2010 г.

?

Метод конвейерного параллелизма

Время выполнения на p процессорах


Введение в параллельные

Москва, 2010 г. ? Метод конвейерного параллелизма Время выполнения на p процессорах
алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Слайд 11

Метод конвейерного параллелизма

Москва, 2010 г.


Введение в параллельные алгоритмы: Методы построения параллельных

Метод конвейерного параллелизма Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения
программ © Якобовский М.В.

Слайд 12

Москва, 2010 г.

Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения параллельных программ ©

Метод конвейерного параллелизма

for(t=0;t{
fnew[0]=g(t);
for(i=1;i fnew[i]= f[i-1]+f[i]
for(i=0;i f[i]= fnew [i]
}

0 1 2 3 4 5 6 7

f[i]

fnew[i]

Слайд 13

Москва, 2010 г.

Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения параллельных программ ©

Метод конвейерного параллелизма

процессор 0 процессор 1 процессор 2 процессор 3

Слайд 14

Москва, 2010 г.

Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения параллельных программ ©

Метод конвейерного параллелизма

процессор 0 процессор 1 процессор 2 процессор 3

Слайд 15

Москва, 2010 г.

Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения параллельных программ ©

Метод конвейерного параллелизма

процессор 0 процессор 1 процессор 2 процессор 3

Слайд 16

Москва, 2010 г.

Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения параллельных программ ©

Метод конвейерного параллелизма

процессор 0 процессор 1 процессор 2 процессор 3

Слайд 17

Москва, 2010 г.

Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения параллельных программ ©

Метод конвейерного параллелизма

процессор 0 процессор 1 процессор 2 процессор 3

Слайд 18

Москва, 2010 г.

Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения параллельных программ ©

Метод конвейерного параллелизма

процессор 0 процессор 1 процессор 2 процессор 3

Слайд 19

Москва, 2010 г.

Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения параллельных программ ©

Метод конвейерного параллелизма

процессор 0 процессор 1 процессор 2 процессор 3

Слайд 20

Москва, 2010 г.

Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения параллельных программ ©

Метод конвейерного параллелизма

процессор 0 процессор 1 процессор 2 процессор 3

Слайд 21

Москва, 2010 г.

Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения параллельных программ ©

Метод конвейерного параллелизма

процессор 0 процессор 1 процессор 2 процессор 3

Слайд 22

Москва, 2010 г.

Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения параллельных программ ©

Метод конвейерного параллелизма

процессор 0 процессор 1 процессор 2 процессор 3

Слайд 23

Москва, 2010 г.

Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения параллельных программ ©

Метод конвейерного параллелизма

процессор 0 процессор 1 процессор 2 процессор 3

Слайд 24

Метод конвейерного параллелизма

Москва, 2010 г.


Введение в параллельные алгоритмы: Методы построения параллельных

Метод конвейерного параллелизма Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения
программ © Якобовский М.В.

Слайд 25

Москва, 2010 г.

Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения параллельных программ ©

Метод конвейерного параллелизма

процессор 0 процессор 1 процессор 2 процессор 3

Слайд 26

Москва, 2010 г.

Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения параллельных программ ©

Объём хранимых данных

процессор 0 процессор 1 процессор 2 процессор 3

Слайд 27

Причины дисбаланса вычислительной нагрузки
Разные процессоры
Внешнее воздействие
Разная вычислительная сложность заданий
Результат дисбаланса
Эффективная производительность определяется

Причины дисбаланса вычислительной нагрузки Разные процессоры Внешнее воздействие Разная вычислительная сложность заданий
самым медленным процессором

Диффузная балансировка

Москва, 2010 г.


Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Слайд 28

Медленный процессор

Москва, 2010 г.

Какой объем работ забрать у среднего процессора и кому

Медленный процессор Москва, 2010 г. Какой объем работ забрать у среднего процессора
его передать?


Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Слайд 29

Метод геометрического параллелизма

Москва, 2010 г.


Введение в параллельные алгоритмы: Методы построения параллельных

Метод геометрического параллелизма Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения
программ © Якобовский М.В.

Слайд 30

Метод геометрического параллелизма

Москва, 2010 г.


Введение в параллельные алгоритмы: Методы построения параллельных

Метод геометрического параллелизма Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения
программ © Якобовский М.В.

Слайд 31

Диффузная балансировка загрузки

Москва, 2010 г.


Введение в параллельные алгоритмы: Методы построения параллельных

Диффузная балансировка загрузки Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения
программ © Якобовский М.В.

Слайд 32

Диффузная балансировка загрузки

Москва, 2010 г.


Введение в параллельные алгоритмы: Методы построения параллельных

Диффузная балансировка загрузки Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения
программ © Якобовский М.В.

Слайд 33

Диффузная балансировка загрузки

Москва, 2010 г.


Введение в параллельные алгоритмы: Методы построения параллельных

Диффузная балансировка загрузки Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения
программ © Якобовский М.В.

Слайд 34

Статическое распределение

Москва, 2010 г.


Введение в параллельные алгоритмы: Методы построения параллельных программ

Статическое распределение Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.
© Якобовский М.В.

Слайд 35

Москва, 2010 г.

Постановка задачи диффузной балансировки

Дано:
Количество точек – N
Количество процессоров – p
Процессор

Москва, 2010 г. Постановка задачи диффузной балансировки Дано: Количество точек – N
i обработал ni точек за время ti
Требуется:
Найти количества точек n’i , которое следует обработать процессорам на следующем шаге
Определить сколько точек каждый из процессоров должен передать соседним процессорам


Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Слайд 36

Москва, 2010 г.


Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский

Москва, 2010 г. Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В. Диффузная балансировка
М.В.

Диффузная балансировка

Слайд 37

Статическая и динамическая балансировка загрузки процессоров
Статическая балансировка
метод сдваивания
геометрический параллелизм
конвейерный параллелизм
Динамическая балансировка
коллективное решение
диффузная

Статическая и динамическая балансировка загрузки процессоров Статическая балансировка метод сдваивания геометрический параллелизм
балансировка

Москва, 2010 г.


Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Резюме

Слайд 38

Общая схема вычислений

Москва, 2010 г.

K = 1 000 000;
шаг_вывода = 10 000;
for(шаг=0;шаг{
for(кирпич=rank*n/p;кирпич<(rank+1)*n/p;кирпич++)
Уложить

Общая схема вычислений Москва, 2010 г. K = 1 000 000; шаг_вывода
(кирпич)
Обменяться данными о точках, прилегающих к внутренним границам()
if( шаг % шаг_вывода == 0 )
{
Вывести промежуточные результаты()
}
}


Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Слайд 39

r=0;
for(i=0;i<=n;i++)
{
d=a[i]+b[i]+r;
c[i]=d%10;
r=d/10;
}
c[i]=r;

Определение суммы двух многоразрядных чисел

Москва, 2010 г.

T1= 4nτс


Введение в параллельные алгоритмы:

r=0; for(i=0;i { d=a[i]+b[i]+r; c[i]=d%10; r=d/10; } c[i]=r; Определение суммы двух многоразрядных
Методы построения параллельных программ © Якобовский М.В.

Слайд 40

Последовательное распространение разряда переноса на четырёх процессорах

«Параллельный» алгоритм

Москва, 2010 г.


Введение в

Последовательное распространение разряда переноса на четырёх процессорах «Параллельный» алгоритм Москва, 2010 г.
параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Слайд 41

Москва, 2010 г.

?

Параллельный алгоритм

« »


Введение в параллельные алгоритмы: Методы

Москва, 2010 г. ? Параллельный алгоритм « » Введение в параллельные алгоритмы:
построения параллельных программ © Якобовский М.В.

Слайд 42

Спекулятивное вычисление двух сумм

Спекулятивный алгоритм

Москва, 2010 г.


Введение в параллельные алгоритмы: Методы

Спекулятивное вычисление двух сумм Спекулятивный алгоритм Москва, 2010 г. Введение в параллельные
построения параллельных программ © Якобовский М.В.

Слайд 43

r1=0;
r2=1;
for(i=0;i<=n1;i++)
{
d1=a[i]+b[i]+r1;
c1[i]=d1%10;
r1=d1/10;
d2=a[i]+b[i]+r2;
c2[i]=d2%10;
r2=d2/10;
}
Recv(&r)
if(r)c=c1;
else c=c2;

Спекулятивный алгоритм

Москва, 2010 г.

T’= 8n1τс


Введение в параллельные

r1=0; r2=1; for(i=0;i { d1=a[i]+b[i]+r1; c1[i]=d1%10; r1=d1/10; d2=a[i]+b[i]+r2; c2[i]=d2%10; r2=d2/10; } Recv(&r)
алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Слайд 44

Спекулятивное вычисление двух сумм

Спекулятивный алгоритм

Москва, 2010 г.


Введение в параллельные алгоритмы: Методы

Спекулятивное вычисление двух сумм Спекулятивный алгоритм Москва, 2010 г. Введение в параллельные
построения параллельных программ © Якобовский М.В.

Слайд 45

Рассмотрены некоторые методы построения параллельных алгоритмов
Рассмотрен алгоритм диффузной балансировки загрузки процессоров
Представлен масштабируемый

Рассмотрены некоторые методы построения параллельных алгоритмов Рассмотрен алгоритм диффузной балансировки загрузки процессоров
параллельный алгоритм, основанный на неэффективном последовательном алгоритме

Заключение

Москва, 2010 г.


Введение в параллельные алгоритмы: Методы построения параллельных программ © Якобовский М.В.

Имя файла: Интернет-Университет-Суперкомпьютерных-технологий.pptx
Количество просмотров: 119
Количество скачиваний: 1