Руководители: Перепёлкин В.А. Щукин Г.А. Студенты: Беляков С.А. гр.ПМИ-81 (2 курс) Герман С.А. гр.ПМИ-81 (2 курс)

Содержание

Слайд 2

Цель работы Распараллеливание исполнительной системы (ИС) фрагментированного программирования и её оптимизация

Цель работы
Распараллеливание исполнительной
системы (ИС) фрагментированного программирования и её оптимизация

Слайд 3

Постановка задачи Разработка многопоточной версии ИС Разработка гибридного варианта ИС (интеграция

Постановка задачи

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

сетевых пересылок)
Разработка и реализация алгоритма оптимизации плана исполнения фрагментированной программы
Тестирование ИС на фрагментированных программах
Слайд 4

Схема реализации многопоточности Очередь фрагментов вычислений Потоки исполняются параллельно на одном

Схема реализации многопоточности

Очередь фрагментов вычислений

Потоки исполняются параллельно на одном и

том же участке памяти

Доступ на запись данных на общих участках памяти контролируется посредством mutex'ов

Слайд 5

Гибридная схема Для передачи сообщений между параллельно исполняемыми процессами используется технология

Гибридная схема

Для передачи сообщений между параллельно исполняемыми процессами используется технология MPI.

В отличие от потоков, процессы работают на разных узлах и участках памяти.

MPI

MPI

MPI

...

Слайд 6

Оптимизация плана исполнения Для каждого фрагмента анализируется его очередь задач, после

Оптимизация плана исполнения

Для каждого фрагмента анализируется его очередь задач, после чего

создаются копии фрагмента с усечёнными очередями, взятыми из очереди исходного фрагмента. Например, из А (1, 2, 3) имеем А (2, 3) и А1 (1), исполняющиеся параллельно.

А

2

1

Read

Read

А

1

Read

А1

Read

2

А

F

А

А1

copy

F

F1

F1

Слайд 7

Перемножение плотных матриц Исходные квадратные Схема вычисления матрицы А В ... mult sum

Перемножение плотных матриц

Исходные квадратные Схема вычисления
матрицы
А В

...

mult

sum

Слайд 8

Слайд 9

Слайд 10

Слайд 11

Слайд 12

Слайд 13

Нахождение числа Пи методом Монте-Карло srand (x+i); for (i=1..M) { x,y

Нахождение числа Пи методом Монте-Карло

srand (x+i);
for (i=1..M)
{ x,y = rand (0..1);
r =

sqrt (x2 + y2);
if (r<1) in++;
else out++;
Pi = (4*x*y*in)/ R2 *(in+out);
где M - количество итераций,
R=1 - радиус круга,
N – количество фрагментов

x,y1

...

x,yN

...

X

X+N

...

...

print

Слайд 14

Слайд 15

Слайд 16