ParaCon Система параллельного программирования на основе типовых алгоритмических структур Истомин Тимофей Научный руководитель: д.ф-м.н. Берзигияров П.К.

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



Advertisements
Похожие презентации
Диаграммы компонентов применяют при проектировании физической структуры разрабатываемо программного обеспечения. Эти диаграммы показывают, как выглядит.
Advertisements

Model/View-архитектура CASE-пакета REAL-MV Тимофей Брыксин, гр. 545 Научный руководитель: А.Н.Терехов Рецензент: Д.В.Кознов.
Основы объектно-ориентированного программирования (ООП)
Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 7.
Принципы разработки параллельных алгоритмов. Введение Для определения эффективных способов организации параллельных вычислений необходимо: Выполнить анализ.
Терминология Микропроцессор (МП) - программно-управляемое устройство, осуществляющее процесс цифровой обработки информации и управления и построенное на.
Этапы решения задач на компьютере 1. Постановка задачи. 2. Построение математической модели. 3. Составление алгоритма. 4. Запись алгоритма на языке программирования(кодирование)
Алгоритмизация и требования к алгоритму Алгоритм и алгоритмизация Алгоритм и алгоритмизация.
П РЕОБРАЗОВАНИЕ ПРОГРАММ НА ЯЗЫКЕ C-DVM В ПРОГРАММЫ ДЛЯ КЛАСТЕРОВ выполнила: студентка 527 группы Коваленко Алина Игоревна научный руководитель: профессор,
СОБОЛЕВ Сергей Сергеевич ЗОЛЬНИКОВ Владимир Константинович КРЮКОВ Валерий Петрович СОБОЛЕВ Сергей Сергеевич ЗОЛЬНИКОВ Владимир Константинович КРЮКОВ Валерий.
Расширение цифрового осциллографа системы управления за счет включения анализатора сигналов Цель: Создание методики построения подсистемы анализа сигналов.
ГОРОДСКОЙ МЕТОДИЧЕСКИЙ ЦЕНТР mosmetod.ru Примерная программа учебного предмета «Информатика»
Технология MVC в высоконагруженных проектах Андрей Шетухин Илья Космодемьянский.
1 Диаграммы реализации (implementation diagrams).
МЕТОДЫ ОРГАНИЗАЦИИ ИНФОРМАЦИОННЫХ ОБЪЕКТОВ С ПОДОБНЫМИ СТРУКТУРАМИ КАК ЕДИНЫЙ ИФОРМАЦИОННЫЙ РЕСУРС ХРАНИЛИЩА МНОГОМЕРНЫХ ДАННЫХ. Волков Антон Андреевич.
Глобальный оптимизатор для.NET приложений Серебрянский Андрей 544гр. Научный руководитель: Дмитрий Степанович Ломов Рецензент: Дмитрий Юрьевич Булычев.
Применение генетического программирования для реализации систем со сложным поведением Санкт-Петербургский Государственный Университет Информационных Технологий,
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ СТАВРОПОЛЬСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ.
Диаграммы реализации. Основные вопросы Виды и назначение диаграмм реализации Основные компоненты Примеры.
Лекция 3 Архитектура информационных систем. Вопросы лекции 1. Архитектура информационной системы 2. Архитектурный подход к реализации информационных систем.
Транксрипт:

ParaCon Система параллельного программирования на основе типовых алгоритмических структур Истомин Тимофей Научный руководитель: д.ф-м.н. Берзигияров П.К. Работа выполняется при финансовой поддержке РФФИ, грант

ParaCon Постановка задачи Создание высокоуровневого средства разработки параллельных программ.

ParaCon Высокий уровень + Строгость Простота Скорость разработки возможность автоматического анализа Переносимость – Ограниченность Эффективность Сложность инструментария

ParaCon Цели Простота проектирования и наглядность представления параллельных программ Предоставление возможностей повторного использования наработок Избавление от некоторых рутинных этапов процесса создания параллельной программы

ParaCon Основы подхода Использование готовых шаблонов (скелетов) часто используемых алгоритмов Гибкость – настраиваемость и масштабируемость шаблонов Связывание и включение шаблонов друг в друга

ParaCon Типовые Алгоритмические Структуры

ParaCon Определение Типовая алгоритмическая структура (ТАС)– это параметризуемый параллельный алгоритм, шаблон, фиксирующий схему решения некоторой задачи. ДанныеРезультат ТАС(Ps, Pf) Ps – структурные параметры, Pf – функциональные параметры.

ParaCon Примеры ТАС Map Независимый по данным параллелизм. К каждому элементу массива X применить функцию y = f(x) Reduce Операция над массивом типа X[]->z (например суммирование, поиск максимума, и т.д.) Farm Дублирование вычислительных элементов. Pipe Конвейер Comp Последовательная композиция Seq Последовательный код manager workers ? f f f F1F2FN 12 N

ParaCon Программирование Анализ задачи Представление решения с помощью набора ТАС Параметризация каждой использованной ТАС

ParaCon Дерево алгоритма Алгоритм решения задачи представляется в виде дерева типовых алгоритмических структур Seq 1 Pipe Seq 3Farm Seq 2 Map Comp Reduce Seq 1 Seq 2

ParaCon Описание системы

ParaCon Устройство системы Библиотека шаблонов Содержит реализации шаблонов на каком- либо языке программирования Визуальный конструктор Позволяет собирать программу из шаблонов и генерировать код на целевом языке

ParaCon Библиотека шаблонов Шаблоны взаимодействия низкого и высокого уровней Типовые алгоритмические структуры Структуры данных Операции разбиения и сборки данных

ParaCon Типы коммуникационных шаблонов Comm – группа процессоров с фиксированной виртуальной топологией Stream – байтовый поток ExternalProtocol обеспечивает общение ТАС с внешней для нее средой (например, с объемлющей ТАС) Distributor производит рассылку данных по процессорам одной группы Gatherer собирает результаты работы группы процессоров

ParaCon Типы операций с данными Builder строит структуру данных из байтовой строки Decomposer производит разбиение данных на куски для дальнейшей рассылки Composer собирает структуру данных из кусков Data – интерфейс, который реализуют все структуры данных

ParaCon Схема работы с данными группа процессоров (Comm) данные (Data) кусочки (Data[]) декомпозиция (Decomposer) рассылка (Distributor) сборка Gatherer композиция Composer результат (Data) кусочки (Data[])

ParaCon Параметры ТАС Map Внешний протокол для получения данных и отправки результатов Параметры внутреннего протокола: группа процессоров, способы (де)композиции, рассылки и сборки данных. Применяемая к элементу данных функция (вложенная ТАС)

ParaCon Структура программы Программа состоит из секций: Создание объектов Связывание объектов Запуск на счет самой внешней ТАС На всех процессорах запускается одна программа.

ParaCon Работа ТАС Map void run() { ProcID currentProc = MyComm.getProcID(); if (currentProc.equals(MyHeadProc)) { Data task = MyExtProt.getTask(); MyDistributor.distribute(task); children[currentProc].run(); Data result = MyGatherer.gather(); MyExtProt.sendResult(); } else children[currentProc].run(); }

ParaCon Конструктор Визуальный редактор алгоритма Анализатор Генератор кода Программный интерфейс для встраиваемых модулей (plugins)

ParaCon Расширение функциональности Создание компонента: Класс, написанный в рамках модели Его описание на XML (тип, зависимости, параметры и их допустимые значения, схема размещения на процессорах) Модуль параметризации к конструктору (plugin)

ParaCon Спасибо за внимание