Ученые МГУ представили новый подход к разработке параллельных программ

Ученые факультета ВМК МГУ в рамках совместной работы с коллегами из Института прикладной математики имени М. В. Келдыша РАН представили новый подход к разработке параллельных программ. Об этом сообщили в пресс-службе вуза.
Опыт его применения на примере решения задачи численного моделирования гидродинамических неустойчивостей опубликован в сборнике Lecture Notes in Computer Science.
Основа данного метода заключается в использовании высокоуровневой модели параллельного программирования DVMH (Distributed Virtual Memory for Heterogeneous Systems). Она предназначена для разработки соответствующих программ для гетерогенных вычислительных кластеров с различными типами ускорителей и позволяет отказаться от использования низкоуровневых технологий программирования типа MPI, SHMEM, CUDA, OpenCL. DVMH модель скрывает конкретные технологии программирования реализации компиляторов DVMH языков. Это, в свою очередь, дает возможность при необходимости расширять множество поддерживаемых архитектур, избегая значительных изменений в DVMH модели, и обеспечивает эффективную переносимость существующих DVMH программ.
Несмотря на высокий уровень модели DVMH, ее применение все равно требует достаточных знаний в области параллельных вычислений и может быть сопряжено с определенными трудностями. Способствовать решению данной проблемы может дальнейшая автоматизация процесса распараллеливания, связанная с созданием систем, которые упрощают перевод последовательной программы в параллельную. Однако полностью автоматическое распараллеливание произвольных программ сталкивается со значительными препятствиями, не позволяющими достичь приемлемой эффективности получаемых параллельных версий. Поэтому на рассматриваемые последовательные программы могут накладываться существенные ограничения, а пользователь получает возможность описывать свойства программ, которые невозможно установить автоматически.
В связи с этим перспективным видится смешанный подход, который объединяет использование высокоуровневой модели параллельного программирования, системы автоматизации, ответственной за выполнение наиболее трудоемких этапов распараллеливания, а также возможность для пользователя контролировать ход распараллеливания и принимать в нем активное участие. В качестве инструмента автоматизации может выступать система SAPFOR (System FOR Automated Parallelization), ориентированная на использование DVMH языков как целевых. С одной стороны, в системе имеется автоматически распараллеливающий компилятор, при этом инкапсулированные в DVMH модели возможности по динамической настройке запускаемых параллельных программ упрощают его разработку. С другой — система обладает широкими возможностями по статическому и динамическому анализу программ, автоматизирует выполнение преобразований исходных, позволяя пользователю выбирать отдельные фрагменты, которые должны быть преобразованы. Графический интерфейс позволяет управлять пользователю процессом распараллеливания.
«Множество параллельных программ создаются с использованием того огромного программного задела, который был получен на последовательных ЭВМ. Необходимость разработки методики распараллеливания существующих последовательных программ ощущается очень остро. В рамках спецсеминара мы пытаемся обобщить опыт распараллеливания программ и создать соответствующую методику. Такая методика поддержана специальными инструментами, которые разрабатываются при активном участии студентов и аспирантов факультета ВМК», — отметил доцент кафедры системного программирования факультета ВМК МГУ Владимир Бахтин.
- Сыромятнический гидроузел подготовили к весенне-летнему периоду
- Гаман: Бизнес приобрел у города более 50 крупных помещений в столице
- Жители Лефортова начале переселение в новостройку на Волочаевской улице по реновации
- Cезонные маршруты до пляжей и парков заработают c 1 мая
- Тоннель Бориса Галушкина отремонтировали на северо-востоке Москвы