1 / 19

МЕТОДЫ РАСПРЕДЕЛЁННЫХ ВЫЧИСЛЕНИЙ НА ОСНОВЕ МОДЕЛИ ПОТОКА ДАННЫХ. ПРОТОТИП СИСТЕМЫ .

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

hong
Download Presentation

МЕТОДЫ РАСПРЕДЕЛЁННЫХ ВЫЧИСЛЕНИЙ НА ОСНОВЕ МОДЕЛИ ПОТОКА ДАННЫХ. ПРОТОТИП СИСТЕМЫ .

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

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

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

  10. Пример счетной программы #include "ride.h“ int main(intargc, char *argv[]) { intn,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; }

  11. Пример файла запуска 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")

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

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

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

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

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

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

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

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

More Related