Введение к работе
Объект исследования и актуальность темы
Последние годы связаны с резким изменением направления развития процессоров - появлением многоядерных и многопоточных процессоров Их эффективное использование требует повсеместного перехода с последовательных программ на параллельные программы Для высокопроизводительных вычислений на кластерах и многопроцессорных ЭВМ с массовым параллелизмом (МРР) теперь требуется более глубокое распараллеливание, обеспечивающее, по крайней мере, два уровня параллелизма - уже привычный параллелизм между узлами кластера и дополнительный параллелизм между ядрами в узле В настоящее время такой двухуровневый параллелизм наиболее легко и естественно выражать посредством использования между узлами модели передачи сообщений MPI, а внутри узлов - модели общей памяти Pthreads, или более высокоуровневой и более подходящей для вычислительных программ модели ОрепМР Однако, необходимость более глубокого распараллеливания и использования гибридной модели МРІ/ОрепМР, те двух разных моделей программирования и соответствующих им разных инструментальных средств еще более усложняет и без того нелегкую работу по созданию параллельных программ Поэтому проблема автоматизации создания параллельных программ становится в настоящее время чрезвычайно актуальной
В 1994 году в ИПМ им MB Келдыша РАН была предложена новая модель (DVM-модель) параллельного программирования, позволившая существенно автоматизировать разработку МРІ-программ для кластеров Однако широкое распространение SMP-кластеров (кластеров, использующих в качестве узлов мультипроцессоры) требовало расширения DVM-модели для более эффективного использования их двухуровневого параллелизма
Цель работы
Целью данной работы являлась разработка гибридной модели DVM/OpenMP, которая позволит упростить создание программ для параллельных систем на базе многоядерных процессоров
Научная новизна работы
Предложена новая модель и новый язык параллельного программирования - гибридная модель DVM/OpenMP и язык Fortran-DVM/OpenMP, позволяющие разрабатывать эффективные, переносимые программы для SMP-кластеров и высокопроизводительных систем с многоуровневым параллелизмом
Разработан компилятор, преобразующий параллельные программы на языке Fortran-DVM/OpenMP в программы на стандартном языке Fortran ОрепМР, выполняющиеся в узлах SMP-кластера и взаимодействующие между собой посредством MPI
Практическая значимость
Разработанный язык Fortran-DVM/OpenMP и компилятор используются для создания программ, способных эффективно выполняться на последовательных ЭВМ, мультипроцессорных ЭВМ с общей памятью, кластерах и SMP-кластерах. Проведенное исследование характеристик разработанных на языке Fortran-DVM/OpenMP тестов и реальных приложений подтвердило применимость языка и эффективность его отображения на кластеры и SMP-кластеры
Разработанный язык и компилятор используются на факультете ВМиК МГУ при проведении практикума по технологиям параллельного программирования, а также служат базой для распараллеливающего компилятора с языка Фортран, создаваемого в рамках программы Союзного государства "ТРИАДА", и системы автоматизации распараллеливания Фортран-программ, создаваемой в рамках программы №14 Президиума РАН
Апробация работы и публикации
Основные результаты диссертации были доложены на российских и международных научных конференциях и семинарах [1, 2, 3, 4, 6] и опубликованы в трудах этих конференций Имеется одна публикация [5] в журнале из списка ВАК
Структура и объем работы