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

Презентация:



Advertisements
Похожие презентации
Система фрагментированного программирования Перепелкин В.А. Всероссийская молодежная школа по параллельному программированию МО ВВС ИВМиМГ 2009 г.
Advertisements

Фрагментированное программирование МО ВВС ИВМ и МГ СО РАН Чаюк Ксения.
Владимир Костюков, АлтГТУ АлтГТУ им И. И. Ползунова Распределенная система мониторинга и диспетчерезации процессов гетерогенной среды.
Программирование многоядерных архитектур (слайды для лекции 2013/04/20) Киреев С.Е., Маркова В.П., Остапкевич М.Б., Перепелкин В.А. МО ВВС ИВМиМГ СО РАН.
Усовершенствование языка и компилятора Для системы фрагментированного программирования Крупин Сергей ФИТ НГУ 3 курс Руководитель: Перепёлкин Владислав.
Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 7.
Лекция 1 Введение. Программирование.. Введение. Информатика – предмет и задачи. Существует много определений информатики: Информатика это наука и сфера.
Разработка и оптимизация исполнительной системы фрагментированного программирования Руководители: Перепёлкин В.А. Щукин Г.А. Студенты: Беляков С.А. гр.ПМИ-81.
АлтГТУ им И. И. Ползунова. АлтГТУ им. И. И. Ползунова Модель распределенной системы мониторинга.
Язык высокого уровня компилятор Программа компиляторов Сделал:Студент группы:Ис-2о(очная)Воротов Валентин.
ParaCon Система параллельного программирования на основе типовых алгоритмических структур Истомин Тимофей Научный руководитель: д.ф-м.н. Берзигияров П.К.
Распределенная система мониторинга и диспетчеризации процессов гетерогенной среды студент Костюков В.В., профессор к.ф-м.н Крючкова Е.Н., АлтГТУ / ПОВТ.
Что такое программирование? Совокупность процессов, связанных с разработкой программ и их реализацией. В широком смысле к указанным процессам относят все.
М.Ю. Харламов, ВНУ им. В.Даля, Семантический анализатор Семантический анализатор выполняет следующие основные действия: проверку соблюдения во входной.
АлтГТУ им И. И. Ползунова. АлтГТУ им. И. И. Ползунова Проблемы эксплуатации Текст.
Глобальный оптимизатор для.NET приложений Серебрянский Андрей 544гр. Научный руководитель: Дмитрий Степанович Ломов Рецензент: Дмитрий Юрьевич Булычев.
Стадник Е. Г. ФПМИ НГТУ Руководитель: Городничев М.А., м.н.с. ИВМ и МГ СО РАН.
Многопоточное программирование в OpenMP Киреев Сергей ИВМиМГ.
АлтГТУ им. И. И. Ползунова / ПОВТ, Владимир Костюков Требования 2 отказоустойчивость масштабируемость эффективностьприменимость расширяемость.
Принципы разработки параллельных алгоритмов. Введение Для определения эффективных способов организации параллельных вычислений необходимо: Выполнить анализ.
Транксрипт:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Система Фрагментированного Программирования Визуальная среда разработки Промежуточное представление программы Исполнительное окружение Компилятор Параллельная библиотека

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

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

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

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