Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Построение и анализ параллельных алгоритмов

Содержание

Модель PRAMМодель PRAM: Parallel Random-Access MemoryПозволяет учитывать ограничения, связанные с одновременным доступом к памятиЯвляется идеализированной моделью архитектуры SMP (Symmetric MultiProcessor, Shared Memory Processor)
Построение и анализ параллельных алгоритмовPRAM: модель параллельных вычислений с общей памятью Модель PRAMМодель PRAM: Parallel Random-Access MemoryПозволяет учитывать ограничения, связанные с одновременным доступом Модель PRAMПроцессоры П0, П1, …, Пp–1 используют общую память, состоящую из множества Модель PRAMОдин шаг (такт) работы PRAM-машины синхронизирован по фазам:Чтение данных из памяти.Обработка данных.Запись результата в память. Режимы чтения и записиРежимы чтения данных из памяти:Одновременное (Concurrent Read)Исключающее (Exclusive Read)Режимы Варианты одновременной записиОдновременная запись одинакового значенияПроизвольная запись: сохраняется произвольное значение из множества Виды PRAM машин и алгоритмов ЗАДАЧА НАХОЖДЕНИЯ КОРНЕЙ ДВОИЧНОГО ЛЕСАПример CREW-алгоритма Пример CREW-алгоритмаДано: Лес, состоящий из бинарных деревьев. Деревья заданы следующим образом: для Пример CREW-алгоритмаПредставление входных данных:вершины пронумерованы, ребра деревьев заданы с помощью массива parent: Пример CREW-алгоритмаРезультат работы алгоритма — массив root. В ячейке root[i] хранится вершины, CREW-алгоритмДля каждого процессора Pi выполнить   Если parent[i] = NIL, то Анализ CREW-алгоритмаВременная сложность алгоритма: O(log2 d), где d — наибольшая глубина дерева НАХОЖДЕНИЕ МАКСИМАЛЬНОГО ЭЛЕМЕНТА В МАССИВЕПример CRCW-алгоритма Пример CRCW-алгоритмаДано: Массив n элементовТребуется: Найти максимальный элемент Пример CRCW-алгоритмаСпособ решенияКоличество процессоров: n2. Каждый процессор нумеруется парой индексов.Процессор с номером CRCW-алгоритмДля всех i от 0 до n–1 выполнить: m[i] := true;Для всех Анализ CRCW-алгоритмаБез использования параллельного чтения невозможно решить эту же задачу быстрее, чем Рекомендуемые источникиАдигеев М.Г. Анализ сложности параллельных алгоритмов. Метод. указания. — Ростов-на-Дону: Изд-во
Слайды презентации

Слайд 2 Модель PRAM
Модель PRAM: Parallel Random-Access Memory
Позволяет учитывать ограничения,

Модель PRAMМодель PRAM: Parallel Random-Access MemoryПозволяет учитывать ограничения, связанные с одновременным

связанные с одновременным доступом к памяти
Является идеализированной моделью архитектуры

SMP (Symmetric MultiProcessor, Shared Memory Processor)

Слайд 3 Модель PRAM
Процессоры П0, П1, …, Пp–1 используют общую

Модель PRAMПроцессоры П0, П1, …, Пp–1 используют общую память, состоящую из

память, состоящую из множества ячеек.
Время доступа каждого процессора

к каждой ячейке памяти одинаково и не зависит от количества процессоров.




Слайд 4 Модель PRAM
Один шаг (такт) работы PRAM-машины синхронизирован по

Модель PRAMОдин шаг (такт) работы PRAM-машины синхронизирован по фазам:Чтение данных из памяти.Обработка данных.Запись результата в память.

фазам:
Чтение данных из памяти.
Обработка данных.
Запись результата в память.


Слайд 5 Режимы чтения и записи
Режимы чтения данных из памяти:
Одновременное

Режимы чтения и записиРежимы чтения данных из памяти:Одновременное (Concurrent Read)Исключающее (Exclusive

(Concurrent Read)
Исключающее (Exclusive Read)
Режимы записи в память:
Одновременная (Concurrent Write)
Исключающая

(Exclusive Write)


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

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

произвольное значение из множества записываемых
Запись в зависимости от приоритетов

процессоров
Комбинация записываемых значений

Слайд 7 Виды PRAM машин и алгоритмов

Виды PRAM машин и алгоритмов

Слайд 8 ЗАДАЧА НАХОЖДЕНИЯ КОРНЕЙ ДВОИЧНОГО ЛЕСА
Пример CREW-алгоритма

ЗАДАЧА НАХОЖДЕНИЯ КОРНЕЙ ДВОИЧНОГО ЛЕСАПример CREW-алгоритма

Слайд 9 Пример CREW-алгоритма
Дано: Лес, состоящий из бинарных деревьев. Деревья

Пример CREW-алгоритмаДано: Лес, состоящий из бинарных деревьев. Деревья заданы следующим образом:

заданы следующим образом: для каждой вершины имеется указатель на

её родителя. Для корней деревьев этот указатель пуст.
Требуется: для каждой вершины найти корень дерева, которому она принадлежит

Слайд 10 Пример CREW-алгоритма
Представление входных данных:
вершины пронумерованы,
ребра деревьев заданы

Пример CREW-алгоритмаПредставление входных данных:вершины пронумерованы, ребра деревьев заданы с помощью массива

с помощью массива parent: элемент parent[i] представляет номер вершины,

являющейся родителем для вершины с номером i.

Слайд 11 Пример CREW-алгоритма
Результат работы алгоритма — массив root. В

Пример CREW-алгоритмаРезультат работы алгоритма — массив root. В ячейке root[i] хранится

ячейке root[i] хранится вершины, являющейся корнем дерева, в которое

входит вершина i.

Массивы parent и root хранятся в общей памяти.

Слайд 12 CREW-алгоритм
Для каждого процессора Pi выполнить
Если

CREW-алгоритмДля каждого процессора Pi выполнить  Если parent[i] = NIL, то

parent[i] = NIL, то root[i] := i;
Пока существует узел

i, для которого parent[i] ≠ NIL, выполнять:
Для каждого процессора i выполнить
Если parent[i] ≠ NIL, то
{
root[i] := root[parent[i]];
parent[i] := parent[parent[i]];
}


Слайд 13 Анализ CREW-алгоритма
Временная сложность алгоритма:
O(log2 d),
где d

Анализ CREW-алгоритмаВременная сложность алгоритма: O(log2 d), где d — наибольшая глубина

— наибольшая глубина дерева в заданном лесе.

Можно показать, что

ни один EREW-алгоритм не может решить эту задачу за время, меньшее O(log2 n), где n — количество вершин в лесе

Слайд 14 НАХОЖДЕНИЕ МАКСИМАЛЬНОГО ЭЛЕМЕНТА В МАССИВЕ
Пример CRCW-алгоритма

НАХОЖДЕНИЕ МАКСИМАЛЬНОГО ЭЛЕМЕНТА В МАССИВЕПример CRCW-алгоритма

Слайд 15 Пример CRCW-алгоритма
Дано: Массив n элементов

Требуется: Найти максимальный элемент

Пример CRCW-алгоритмаДано: Массив n элементовТребуется: Найти максимальный элемент

Слайд 16 Пример CRCW-алгоритма
Способ решения

Количество процессоров: n2.
Каждый процессор нумеруется

Пример CRCW-алгоритмаСпособ решенияКоличество процессоров: n2. Каждый процессор нумеруется парой индексов.Процессор с

парой индексов.
Процессор с номером (i,j) сравнивает A[i] и A[j].


Используется вспомогательный булевский массив m[i]. После выполнения сравнений m[i]=true ⇔ A[i] — наибольший элемент массива.
Результат помещается в переменную max.



Слайд 17 CRCW-алгоритм
Для всех i от 0 до n–1 выполнить:

CRCW-алгоритмДля всех i от 0 до n–1 выполнить: m[i] := true;Для


m[i] := true;
Для всех i от 0 до n–1

и для всех j от 0 до n–1 выполнить:
Если A[i] < A[j], то m[i] := false;
Для всех i от 0 до n–1 выполнить:
Если m[i] = true, то max := A[i];
Вернуть max.


Слайд 18 Анализ CRCW-алгоритма
Без использования параллельного чтения невозможно решить эту

Анализ CRCW-алгоритмаБез использования параллельного чтения невозможно решить эту же задачу быстрее,

же задачу быстрее, чем за время O(log n).
Представленный

CRCW-алгоритм работает за время O(1) и требует n2 процессоров. Наилучший последовательный алгоритм работает за время O(n). Поэтому эффективность составляет 1/n, т.е. алгоритм не является эффективным по затратам.



  • Имя файла: postroenie-i-analiz-parallelnyh-algoritmov.pptx
  • Количество просмотров: 129
  • Количество скачиваний: 0