Similar presentations:
Модели параллельного программирования. Лекция 2
1.
2. Модель компьютера
Свойства модели:Простота
Hello
3.5
26
CPU
Memory
Рис. 1. Схема «read & write»
Реалистичность
Последовательный
характер
выполнения
программ
3. Модель параллельного компьютера
Hello3.5
26
CPU
Memory
Рис. 2. Схема «параллельного компьютера»
Основные свойства:
Параллельность
Масштабируемость
Локальность (read/write vs send/recv)
4. Модель последовательного программирования
МодульностьПроцедуры
Функции
Структуры данных
Классы
Объектно-ориентированные конструкции
т.п.
5. Модель параллельного программирования
Параллелизм (concurrency)Масштабируемость (scalability)
Локальность (locality)
Модульность (modularity)
6. Критерии выбора модели
Свойства механизмов абстракции:масштабируемость;
модульность;
простота;
соответствие архитектуре.
7. Модели параллельного программирования
Модель «задача/канал»Модель передачи сообщений
Модель разделяемой общей памяти
Модели, использующие параллелизм
данных
Параллелизм задач / Параллелизм данных
8. Модель «задача/канал»
Свойства:Эффективность
Независимость
отображения
Модульность
Рис. 3. Схема модели
Детерминизм
чтение / запись
послать сообщения на outports
получить сообщения из inports
создать новые задачи
завершить выполнение
9. Модель передачи сообщений
Свойства:Эффективность
Независимость
отображения
Модульность
Рис. 4. Схема модели
Детерминизм
чтение / запись
послать сообщения to task1
получить сообщения from task1
создать новые задачи
завершить выполнение
10. Модель разделяемой памяти
Свойства:Независимость
отображения
Модульность
Процессор
Процессор
Процессор
Один или
несколько
уровней
кэш-памяти
Один или
несколько
уровней
кэш-памяти
Один или
несколько
уровней
кэш-памяти
чтение / запись
завершить выполнение
Основная память
Подсистема
ввода/вывода
Рис. 5. Схема модели
11. Модель параллелизма данных
Поток AПоток N
Рис. 6. Схема модели
Свойства:
Эффективность
Модульность
чтение / запись
завершить выполнение
12. Обобщенная схема моделей
Модель параллелизма по даннымПоследовательная программа
Компилятор
+
Данные
Данные
Данные
Директивы распределения данных
Модель передачи сообщений
Библиотека передачи сообщений
процесс
процесс
процесс
Данные
Данные
Данные
Модель с общей памятью
Библиотека синхронизации
процесс
процесс
Данные
Рис. 7. Обобщенная схема
процесс
13. Параллелизм данных
(SIMD-модель):одна программа;
глобальное пространство имен;
слабая синхронизация;
низкая вовлеченность программиста;
векторизация;
распараллеливание во время трансляции.
14. Параллелизм данных: основные операции
Управление данными (равномерность загрузки)Операции над массивами (повышение эффективности)
Условные операции
Операции приведения
Операции сдвига
Операции сканирования
Операции пересылки данных
FORTRAN+, MPP FORTRAN , HPF
15. Параллелизм данных: требования
Поддержка на уровне транслятора:препроцессоры;
предтрансляторы;
распараллеливающие трансляторы.
16. Параллелизм задач
Параллелизм задач(MIMD-модель):несколько программ;
разделенное пространство имен;
высокая синхронизация;
высокая вовлеченность программиста;
высокая трудоемкость;
распараллеливание до трансляции.
17. Схема построения параллельного алгоритма
ДекомпозицияPartitioning
Взаимодействие
Communication
Интеграция
Agglomeration
Отображение
Mapping
Рис. 8. Схема решения сложных задач