Главная страница « Спецсеминары «

Спецсеминар «Автоматизация параллельного программирования»

Руководители:
профессор, доктор физ.-мат. наук В. А. Крюков
кандидат физ.-мат. наук В. А. Бахтин
Н. А. Катаев
страница семинара на сайте системы DVM: http://dvm-system.org/ru/msu/

Аннотация

Новости
Информация
Преподаватели и сотрудники
Студенты и аспиранты
Научно-исследовательский семинар
Просеминар
Спецкурсы
Проекты
Ссылки
Поиск

Разработка программ для высокопроизводительных кластеров и других параллельных систем с распределенной памятью продолжает оставаться исключительно сложным делом, доступным узкому кругу специалистов и крайне трудоемким даже для них. Основная причина — это низкий уровень современной технологии автоматизации разработки параллельных программ. В настоящее время практически все параллельные программы для многоядерных кластеров (SMP-кластеров) разрабатываются с использованием низкоуровневых средств передачи сообщений (MPI, SHMEM). Такие программы трудно разрабатывать, сопровождать и повторно использовать при создании новых программ. Появление кластеров с гетерогенными узлами, использующих в качестве ускорителей графические процессоры (ГПУ), еще более усложнило разработку программ, поскольку потребовало использовать, помимо низкоуровневых технологий MPI и SHMEM, еще и низкоуровневую технологию CUDA или OpenCL. На подходе новые процессоры с большим количеством ядер (например, 48-ядерный Intel SCC процессор, который стал недавно доступен для широкого круга исследователей), для эффективного использования которых потребуются новые модели программирования.

Вполне естественно, что прикладной программист хотел бы получить либо инструмент, автоматически преобразующий его последовательную программу в параллельную программу, либо высокоуровневый язык параллельного программирования, обеспечивающий эффективное использование современных параллельных систем.

Проведенные в 90-х годах активные исследования убедительно показали, что полностью автоматическое распараллеливание для систем с распределенной памятью реальных производственных программ возможно только в очень редких случаях.

Поэтому исследователи сосредоточились на двух направлениях:

  • разработка высокоуровневых языков параллельного программирования (HPF, OpenMP-языки, DVM-языки, CoArray Fortran, UPC, Titanium, Chapel, X10, Fortress);

  • создание систем автоматизированного распараллеливания (CAPTools/Parawise, FORGE Magic/DM, BERT77, САПФОР), в которых программист активно вовлечен в процесс распараллеливания.

Работа семинара тесно связана с этими исследованиями.

На 3 курсе студенты получают необходимую теоретическую подготовку, изучая проблемы параллельного программирования и соответствующие подходы к их решению, а также приобретают опыт разработки параллельных программ для распределенных систем (MPI, OpenMP, CUDA).

Студенты 4-5 курсов и аспиранты участвуют в исследованиях, направленных на разработку инструментов параллельного программирования, таких как компиляторы, отладчики, анализаторы и предсказатели производительности параллельных программ, средства автоматизации распараллеливания последовательных программ.

Базой для многих исследовательских проектов является система DVM, разработанная в Институте прикладной математики им М.В. Келдыша РАН при активном участии студентов и аспирантов спецсеминара.

Разрабатываемые студентами и аспирантами инструменты тестируются и используются на таких суперкомпьютерах, как «Ломоносов» (НИВЦ МГУ), МВС-100K (МСЦ РАН), K-100 (ИПМ им. М.В. Келдыша РАН), и других ЭВМ.

  

© Кафедра системного программирования ВМК МГУ.

Обновлено: 7.XI.2022