М.О. Бахтерев, П.А. Васёв ИММ УрО РАН, Екатеринбург XII Международный семинар «Супервычисления и математическое моделирование» РФЯЦ-ВНИИЭФ, Саров 2010.

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



Advertisements
Похожие презентации
Студент группы МТ Уросов Александр Павлович Научный руководитель Авербух Владимир Лазаревич Доцент КИПУ Кандидат технических наук.
Advertisements

ПРОЕКТ СРЕДЫ РАЗРАБОТКИ СПЕЦИАЛИЗИРОВАННЫХ СИСТЕМ ВИЗУАЛИЗАЦИИ П.А. Васёв ИММ УрО РАН, Екатеринбург XII Международный семинар «Супервычисления и математическое.
Многопоточное программирование в OpenMP Киреев Сергей ИВМиМГ.
Стадник Е. Г. ФПМИ НГТУ Руководитель: Городничев М.А., м.н.с. ИВМ и МГ СО РАН.
Лекция 1 Классификация С++. Парадигмы программирования Императивная Функциональная Декларативная (логическая) Инструкция 1 Инструкция 2 Инструкция 3 Инструкция.
ParaCon Система параллельного программирования на основе типовых алгоритмических структур Истомин Тимофей Научный руководитель: д.ф-м.н. Берзигияров П.К.
Параллельное программирование с использованием технологии OpenMP Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ Томский политехнический университет.
Учебный курс Технологии и средства разработки корпоративных систем Лекция 1 Открытые системы. Клиент и сервер Лекции читает кандидат технических наук,
Н.Новгород, Международный научно- практический семинар, ноябрь 2002 Нижегородский государственный университет Разработка интегрированной среды высокопроизводительных.
Fortan OpenMP/DVM - язык параллельного программирования для кластеров В.А. Бахтин, Н.А. Коновалов, В.А. Крюков, Н.В. Поддерюгина Институт прикладной математики.
П РЕОБРАЗОВАНИЕ ПРОГРАММ НА ЯЗЫКЕ C-DVM В ПРОГРАММЫ ДЛЯ КЛАСТЕРОВ выполнила: студентка 527 группы Коваленко Алина Игоревна научный руководитель: профессор,
Системные и визуализационные предпосылки создания виртуального испытательного стенда В.Л. Авербух, Н.В. Авербух, М.О. Бахтерев, П.А. Васёв, А.В. Зырянов,
Архитектуры высокопроизводительных программных комплексов для моделирования сложных систем С.В. Ковальчук, И.О. Варвалюк НИИ Наукоемких компьютерных технологий,
Новая технология программирования с применением процедур с повторным входом. Разработанa alfa-версия транслятора C++, реализующего технологию Продукт Традиционное.
Адаптивный метод распределения SPMD-заданий в грид Паньшенсков Михаил, 545 группа Научный руководитель: Лукичев А.С. Рецензент: Демьянович Ю.К июня.
Выполнил студент группы А Буренков Сергей Александрович. Научный руководитель к.т.н., доцент Шамаева Ольга Юрьевна. ОРГАНИЗАЦИЯ И ИССЛЕДОВАНИЕ ПАРАЛЛЕЛЬНО-ПОСЛЕДОВАТЕЛЬНЫХ.
Методика распараллеливания программ в модели DVM Институт прикладной математики им. М.В.Келдыша РАН
Разработка параллельных приложений для многоядерных систем С.В. Ковальчук НИИ Наукоемких компьютерных технологий, СПбГУ ИТМО.
Принципы разработки параллельных алгоритмов. Введение Для определения эффективных способов организации параллельных вычислений необходимо: Выполнить анализ.
Лекция 3 ПЕРВЫЕ ПРОГРАММЫ, ВВОД/ВЫВОД В ЯЗЫКЕ С++
Транксрипт:

М.О. Бахтерев, П.А. Васёв ИММ УрО РАН, Екатеринбург XII Международный семинар «Супервычисления и математическое моделирование» РФЯЦ-ВНИИЭФ, Саров 2010

Высокопроизводительные системы Системы с общей памятью (быстрый обмен между потоками) Параллельные среды (кластер с хорошими внутренними сетевыми связями) Распределённые среды (медленные сетевые связи между группой кластеров/узлов)

Вопрос технологий HPC программирования - открыт Не смотря на наличие MPI OpenMP Почему? Сложные технологии. А если необходима оптимальность – то крайне сложные. Не учитывают современные тенденции (GPGPU, грид, облачные вычисления).

Предпринимаются попытки Автоматическое и автоматизированное распараллеливание (DVM) Технологии решения определённых классов задач (Map/Reduce) Инструменты упрощения параллельного программирования (TBB) Некоторые подобные решения предлагают смену парадигмы вычислений.

Модель потока данных (data flow) A D B BC E Input Output B Открытый вопрос - конкретная интерпретациия и реализации этой модели. Размер блоков (инструкции...этапы вычислений). Язык описания потока (расширение, новые языки). И так далее (множество деталей).

Предлагаемая методика Базовые элементы: Хранилище – содержит именованные данные. Имена: «x15», «matr_220_517». Данные: бинарные. Задачи – программы, которые читают данные из хранилища, и пишут в хранилища новые данные. Правила – определяют условия и параметры запуска задач.

Правила Каждое правило содержит в себе: Список имён данных, которые необходимы для выполнения задачи. Имя задачи, которую необходимо запустить. Список соответствия глобальных имён данных локальным именам. Действия при успешном завершении. Правило срабатывает, когда все исходные данные готовы.

Высокопроизводительная программа: Набор вычислительных программ Файл запуска – с описанием начальных данных и правил

Процесс выполнения Запуск файла начальных данных и правил Поиск правил, готовых к исполнению Поиск подходящих ресурсов для готовых правил Размещение (части) правил на ресурсах В результате исполнения правил порождаются новые данные => новые готовые правила и свободные ресурсы

Пример счетной программы #include "ride.h int main(int argc, char *argv[]) { int n,k; if (ride_get(in,&n,sizeof(n)) != RIDE_GOOD) { return -1; } // ************ eval k ********************** k = n + 1 ride_put( out", ride_data(&k,sizeof(k)) ); return 0; }

Пример файла запуска Ride.put("var1",1 ) for i in (1..10) do r = Rule.new r.feed("var#{i} ", in") r.mask("var#{i+1}",out") r.run("sample1/release/sample1.exe") r.save end Ride.run puts Ride.get("var11")

Пример работы Видео-файл

Преимущества методики Разделение уровней вычисления и взаимодействия. Произвольные языки программирования вычислительных программ (с внедренными функциями get и put) Отсутствие ограничений на внутреннюю сложность вычислительных программ. Возможность участия в рамках одного вычисления программ различных платформ (ОС, языки, процессоры и GPGPU).

Преимущества методики Возможность подключать и отключать вычислительные ресурсы «на лету». Встроенная поддержка контрольных точек (состояние хранилища). Возможность полностью остановить счёт и в будущем продолжить его. Перспективы умного размещения правил, в том числе на основе статистики предыдущих запусков. Поддержка общей памяти. В итоге – поддержка всех уровней HPC-сред и их комбинаций.

Реализация Runner Run Side 1 Run Side 2 Run Side N … Runvisor Calc 1 Eval 2 Schet 3 Runvisor Prog 4 Storage

Первые программы Поиск дискретных логарифмов Автор: Илья Альбрехт Эффект: сокращение коммуникаций с 500 строк MPI- кода до 100 строк RIDE-кода Умножение матриц Автор: Михаил Бахтерев Эффект: множество идей по вопросу упрощения языка правил RIDE

Реализация Runner Run Side 1 Run Side 2 Run Side N … Runvisor Calc 1 Eval 2 Schet 3 Runvisor Prog 4 Storage

Распределённое хранилище данных Неодинаковые по мощности узлы Неоднородные связи между узлами Подключение и отключение на лету Явное управление репликами Встроенное обнаружение готовых правил Parallel FS, SQL Cluster, DHT, Kademlia/P2P Идея обходчиков и заявок. В разработке.

- информация о разработке системы XII Международный семинар «Супервычисления и математическое моделирование» РФЯЦ-ВНИИЭФ, Саров 2010