Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемТамара Ожгибесова
1 ParaCon Система параллельного программирования на основе типовых алгоритмических структур Истомин Тимофей Научный руководитель: д.ф-м.н. Берзигияров П.К. Работа выполняется при финансовой поддержке РФФИ, грант
2 ParaCon Постановка задачи Создание высокоуровневого средства разработки параллельных программ.
3 ParaCon Высокий уровень + Строгость Простота Скорость разработки возможность автоматического анализа Переносимость – Ограниченность Эффективность Сложность инструментария
4 ParaCon Цели Простота проектирования и наглядность представления параллельных программ Предоставление возможностей повторного использования наработок Избавление от некоторых рутинных этапов процесса создания параллельной программы
5 ParaCon Основы подхода Использование готовых шаблонов (скелетов) часто используемых алгоритмов Гибкость – настраиваемость и масштабируемость шаблонов Связывание и включение шаблонов друг в друга
6 ParaCon Типовые Алгоритмические Структуры
7 ParaCon Определение Типовая алгоритмическая структура (ТАС)– это параметризуемый параллельный алгоритм, шаблон, фиксирующий схему решения некоторой задачи. ДанныеРезультат ТАС(Ps, Pf) Ps – структурные параметры, Pf – функциональные параметры.
8 ParaCon Примеры ТАС Map Независимый по данным параллелизм. К каждому элементу массива X применить функцию y = f(x) Reduce Операция над массивом типа X[]->z (например суммирование, поиск максимума, и т.д.) Farm Дублирование вычислительных элементов. Pipe Конвейер Comp Последовательная композиция Seq Последовательный код manager workers ? f f f F1F2FN 12 N
9 ParaCon Программирование Анализ задачи Представление решения с помощью набора ТАС Параметризация каждой использованной ТАС
10 ParaCon Дерево алгоритма Алгоритм решения задачи представляется в виде дерева типовых алгоритмических структур Seq 1 Pipe Seq 3Farm Seq 2 Map Comp Reduce Seq 1 Seq 2
11 ParaCon Описание системы
12 ParaCon Устройство системы Библиотека шаблонов Содержит реализации шаблонов на каком- либо языке программирования Визуальный конструктор Позволяет собирать программу из шаблонов и генерировать код на целевом языке
13 ParaCon Библиотека шаблонов Шаблоны взаимодействия низкого и высокого уровней Типовые алгоритмические структуры Структуры данных Операции разбиения и сборки данных
14 ParaCon Типы коммуникационных шаблонов Comm – группа процессоров с фиксированной виртуальной топологией Stream – байтовый поток ExternalProtocol обеспечивает общение ТАС с внешней для нее средой (например, с объемлющей ТАС) Distributor производит рассылку данных по процессорам одной группы Gatherer собирает результаты работы группы процессоров
15 ParaCon Типы операций с данными Builder строит структуру данных из байтовой строки Decomposer производит разбиение данных на куски для дальнейшей рассылки Composer собирает структуру данных из кусков Data – интерфейс, который реализуют все структуры данных
16 ParaCon Схема работы с данными группа процессоров (Comm) данные (Data) кусочки (Data[]) декомпозиция (Decomposer) рассылка (Distributor) сборка Gatherer композиция Composer результат (Data) кусочки (Data[])
17 ParaCon Параметры ТАС Map Внешний протокол для получения данных и отправки результатов Параметры внутреннего протокола: группа процессоров, способы (де)композиции, рассылки и сборки данных. Применяемая к элементу данных функция (вложенная ТАС)
18 ParaCon Структура программы Программа состоит из секций: Создание объектов Связывание объектов Запуск на счет самой внешней ТАС На всех процессорах запускается одна программа.
19 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(); }
20 ParaCon Конструктор Визуальный редактор алгоритма Анализатор Генератор кода Программный интерфейс для встраиваемых модулей (plugins)
21 ParaCon Расширение функциональности Создание компонента: Класс, написанный в рамках модели Его описание на XML (тип, зависимости, параметры и их допустимые значения, схема размещения на процессорах) Модуль параметризации к конструктору (plugin)
22 ParaCon Спасибо за внимание
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.