'

Технология Фрагментированного Программирования

Понравилась презентация – покажи это...





Слайд 0

Технология Фрагментированного Программирования Летняя школа по параллельному программированию Отдел МО ВВС ИВМиМГ СО РАН 2009 г.


Слайд 1

ФП – технология параллельного программирования Вопрос: зачем нужна ещё одна технология параллельного программирования? Ответ: Существующие технологии не справляются со своей задачей


Слайд 2

Что мы хотим от технологии ПП? Хотим писать программы с минимумом усилий, а в результате получать эффективную программу Такого не бывает!


Слайд 3

Синтез программ Идея: синтезировать программу из готовых программ Вопрос: почему до сих пор никто такого не сделал? Ответ: программы плохо совместимы друг с другом!


Слайд 4

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


Слайд 5

Разделение обязанностей Различные задачи Различные архитектуры


Слайд 6

Представление алгоритма Явный параллелизм Структура данных и вычислений Гибкая параметризация Возможность сборки Использование обычных подпрограмм Рекомендации по способу исполнения Задачи Исполнительной Системы Настройка на аппаратные ресурсы Управление вычислениями и коммуникациями Динамическая балансировка загрузки Run-time оптимизация


Слайд 7

Исполнительная система Исполнительная система Фрагментированная программа Обычная параллельная программа (MPI и т.п.)


Слайд 8

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


Слайд 9

Декомпозиция вычислений Входные данные Выходные данные Программа


Слайд 10

Параллельное исполнение на мультипроцессоре Входные данные Выходные данные Программы


Слайд 11

Синхронизация потоков исполнения Входные данные Выходные данные Программы


Слайд 12

Синхронизация потоков исполнения Входные данные Выходные данные Программы + Код синхронизации


Слайд 13

Декомпозиция данных Входные данные Выходные данные Программы + Код синхронизации


Слайд 14

Дополнительные данные и код работы с ними Входные данные Выходные данные Программы Код синхронизации Код работы с данными


Слайд 15

Динамическая передача данных Входные данные Выходные данные Программы Код синхронизации Код работы с данными Код передачи данных


Слайд 16

Динамическая балансировка нагрузки Входные данные Выходные данные Программы Код синхронизации Код работы с данными Код передачи данных Код балансировки


Слайд 17

Накладные расходы в параллельных задачах


Слайд 18

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


Слайд 19

Фрагментированная программа Фрагментированные входные данные Фрагментированные выходные данные Фрагментированная Программа и промежуточные данные


Слайд 20

Сборка программы из фрагментов Программа собирается из готовых фрагментов одним из допустимых способов


Слайд 21

Фрагментированная программа в процессе исполнения Фрагменты, готовые к вычислениям Фрагменты, не готовые к вычислениям


Слайд 22

Фрагментированная программа в процессе исполнения Выполненные фрагменты Вычисленные значения Фрагменты, не готовые к вычислениям Фрагменты, готовые к вычислениям


Слайд 23

Фрагментированная программа в процессе исполнения Выполненные фрагменты Вычисленные значения Ненужные более данные Фрагменты, не готовые к вычислениям Фрагменты, готовые к вычислениям


Слайд 24

Исполнительная система


Слайд 25

Последовательная ИС


Слайд 26

Мультипроцессорная ИС Слой многопоточной обработки


Слайд 27

Мультикомпьютерная ИС


Слайд 28

Балансировка нагрузки


Слайд 29

Особенности фрагментированного программирования Явный параллелизм Исполнительная система Планировка вычислений Балансировка нагрузки Коммуникации на фоне счета Накопление параллельных решений Высокоуровневое описание алгоритма


Слайд 30

Модель: Фрагментированная программа Фрагменты вычислений и данных Формальные и фактические фрагменты Структура данных и вычислений Управление: прямое, потоковое Переменные программы vs алгоритма Способ исполнения: какие бывают рекомендации


Слайд 31

Разный порядок исполнения


Слайд 32

Структурная составляющая


Слайд 33

Система Фрагментированного Программирования Визуальная среда разработки Параллельная библиотека


Слайд 34

Жизненный цикл фрагментированной программы


Слайд 35

Промежуточное представление фрагментированной программы


Слайд 36

Обзор проекта ФП Языки высокого уровня Текстовый Визуальный Язык машинного представления Исполнительные системы Для мультипроцессоров Для мультикомпьютеров Для спецвычислителей (Cell BE, GPGPU) Библиотеки подпрограмм


Слайд 37

Технология Фрагментированного Программирования Конец ?


×

HTML:





Ссылка: