Информационный Центр Правительства Москвы
19 октября 2024, суббота, 17:40
Новости

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

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

Ученые факультета ВМК МГУ в рамках совместной работы с коллегами из Института прикладной математики имени М. В. Келдыша РАН представили новый подход к разработке параллельных программ. Об этом сообщили в пресс-службе вуза. 

Опыт его применения на примере решения задачи численного моделирования гидродинамических неустойчивостей опубликован в сборнике 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 модели возможности по динамической настройке запускаемых параллельных программ упрощают его разработку. С другой — система обладает широкими возможностями по статическому и динамическому анализу программ, автоматизирует выполнение преобразований исходных, позволяя пользователю выбирать отдельные фрагменты, которые должны быть преобразованы. Графический интерфейс позволяет управлять пользователю процессом распараллеливания.

«Множество параллельных программ создаются с использованием того огромного программного задела, который был получен на последовательных ЭВМ. Необходимость разработки методики распараллеливания существующих последовательных программ ощущается очень остро. В рамках спецсеминара мы пытаемся обобщить опыт распараллеливания программ и создать соответствующую методику. Такая методика поддержана специальными инструментами, которые разрабатываются при активном участии студентов и аспирантов факультета ВМК», — отметил доцент кафедры системного программирования факультета ВМК МГУ Владимир Бахтин.

Последние обновления: