Гибридная модель параллельного программирования DVM/OpenMP тема диссертации и автореферата по ВАК РФ 05.13.11, кандидат физико-математических наук Бахтин, Владимир Александрович
- Специальность ВАК РФ05.13.11
- Количество страниц 122
Оглавление диссертации кандидат физико-математических наук Бахтин, Владимир Александрович
Введение;.
Актуальность темы.
Цель и задачи работы.;.;.
Основные результаты работы.
Ирактинеская1ценность работы.6»
Апробацияфаботы.
Краткое содержание работы.
Глава 1. Модели? и языки параллельного программирования; для SMP-кластеров.
1.1. Модель передачи ¡сообщений; MPI.10s 1.2*. Мо дел б параллелизма по управлению.' OperiMP'.
Г.З. Рибриднаяшодель МР1/ОрепМР!;.18'
1.4. Модель параллелизма по данным. HPF.22'.
1.5. Модель параллелизма по данным и управлению. DVM.
1.6: Язык Go-Array Eortram(CAF).30
1'.Выводы;.3L
Глава 2. Гибридная модель параллельного? программирования
DVM/OpenMP и язык Fortran-DVM/OpenMP.;.
2:1 Гибридная модель параллельного: программирования?; DVM/OpenMP.:.
2.2 Язык Fortran-DVM/OpenMP;.40»
2.2.1 Описание виртуальногомассива узлов.«.
2.2^2 Распределение данных. Директива1 DISTRIBUTE. 42'
212.3-Локализация данных. Директива AblGN.
2.2.4 Распределение витков? параллельного» цикла.,, Директива' PARALLEL ON .•.
2.2.5 Удаленные данные типа SHADOW.
2'.2!6;Удаленные данные:типа ACROSS.
2.2.7 Удаленные данныетипа;1ШМОТЕ.:.
2.2.8 Удаленные данные типа REDWCM0N.
2.2.9 Размноженные по узлам данные.:. 50s
2.2.10 Распределение витков* цикла между нитями внутри узла. Директивы DO и
2.2.11 Распределение витковфаспределенного параллельного цикла между нитями.
2.2.12 Работа с удаленными данными типа ACROSS внутри узла.
2.2.13-Работа с данными типа REDUCTION внутри узла.
2.2.14 Пример параллельной программы в моделях MPI/OpenMP и
DVM/OpenMP.
2.3 Преимущества разработанной гибридной модели перед моделями OpenMP, MPI, DVM и MPI/OpenMP.
2.3.1. Достоинства модели DVM/OpenMP по сравнению с моделью ОрепМР.!.
2.3.2. Достоинства модели DVM/OpenMP по сравнению с моделью MPI.
2.3.3. Достоинства модели DVM/OpenMP по сравнению с моделью DVM.:.
2.3.4. Достоинства модели DVM/OpenMP по сравнению с моделью MPI/OpenMP.
Глава 3. Компилятор с языка Fortran-DVM/OpenMP.
3.1 Основные функции компилятора Fortran-DVM/OpenMP.
3.2 Схема функционирования компилятора.
3.3 Инструментация Fortran-DVM/OpenMP программ.
3.3.1 Передача статической информации о программе.
3.3.2 Схема инструментации программы.
3.3.3 Инструментация ОрепМР-директив.
3.3:4 Инструментация совмещенных ОрепМР-директив.
3.3.5 Инструментация операторов языка Fortran.
3.3.6 Управлению степенью подробности инструментации.
3.3.7 Отличия разработанной инструментации по сравнению с инструментацией, используемой в DVM-системе.
Глава 4. Использование' языка Fortran-DVM/OpenMP для программирования реальных приложений.
4.1. Тесты NAS (ВТ, LU, SP).
4.2. Задача CONVD - расчет солнечной конвекции.
4.3. Особенности распараллеливания программ, использующих пакет «РЕАКТОР».
4.3.1 Нестационарная задача DF3D6T.
4.3.2 Задача KinXYZ.
4.4. Наиболее часто встречаемые ошибки, возникающие при распараллеливании программ в модели DVM/ ОрепМР.
Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК
Автоматическое распараллеливание некоторого класса фортран-программ. Отображение на кластер2009 год, кандидат физико-математических наук Клинов, Максим Сергеевич
Автоматизация отладки параллельных программ2006 год, кандидат физико-математических наук Кудрявцев, Максим Владимирович
Отладка DVM-программ2000 год, кандидат физико-математических наук Удовиченко, Роман Всеволодович
Автоматизация распараллеливания Фортран-программ для гетерогенных кластеров2020 год, кандидат наук Колганов Александр Сергеевич
Автоматизация распараллеливания программ со сложными информационными зависимостями2025 год, кандидат наук Метелица Елена Анатольевна
Введение диссертации (часть автореферата) на тему «Гибридная модель параллельного программирования DVM/OpenMP»
Актуальность темы
Последние годы связаны с резким изменением направления развития процессоров — появлением многоядерных и многопоточных процессоров. Их эффективное использование требует повсеместного перехода с последовательных программ на параллельные программы. Для высокопроизводительных вычислений на кластерах и многопроцессорных ЭВМ с массовым параллелизмом (МРР) теперь требуется более глубокое распараллеливание, обеспечивающее, по крайней мере, два уровня параллелизма - уже привычный параллелизм между узлами кластера и дополнительный параллелизм между ядрами в узле. В настоящее время такой двухуровневый параллелизм наиболее легко и естественно выражать посредством использования между узлами модели передачи сообщений MPI, а внутри узлов - модели общей памяти Pthreads, или более высокоуровневой и более подходящей для вычислительных программ модели ОрепМР. Однако, необходимость более глубокого распараллеливания и использования гибридной модели MPI/OpenMP, т.е. двух разных моделей программирования и соответствующих им разных инструментальных средств еще более усложняет и без того нелегкую работу по созданию параллельных программ. Поэтому проблема автоматизации создания параллельных программ становится в настоящее время чрезвычайно актуальной.
В 1994 году в ИПМ им. М.В.Келдыша РАН была предложена новая модель (DVM-модель) параллельного программирования, позволившая существенно автоматизировать разработку MPI-программ для кластеров. Однако широкое распространение SMP-кластеров (кластеров, использующих в качестве узлов мультипроцессоры) требовало расширения DVM-модели для более эффективного использования их двухуровневого параллелизма.
Цель и задачи работы
Целью данной работы являлась разработка гибридной модели DVM/OpenMP, которая позволит упростить создание программ» для параллельных систем на базе многоядерных процессоров.
В соответствии с этой целью были определены следующие задачи:
1. Исследовать существующие подходы к разработке параллельных программ. Оценить применимость и эффективность этих подходов для параллельных систем на базе многоядерных процессоров.
2. Разработать основные принципы объединения моделей DVM и ОрепМР, язык Fortran-DVM/OpenMP и компилятор с него, преобразующий входную программу в совокупность программ на I языке Fortran ОрепМР, выполняющихся на каждом узле кластера и взаимодействующих посредством библиотеки MPI.
3. Оценить применимость и эффективность, разработанного языка и компилятора.
Основные результаты работы
В работе были достигнуты следующие основные результаты:
1. Предложена новая модель и новый язык параллельного программирования — гибридная модель DVM/OpenMP и язык Fortran-DVM/OpenMP, позволяющие разрабатывать эффективные, переносимые программы для SMP-кластеров и высокопроизводительных систем с многоуровневым параллелизмом.
2. Разработан.компилятор, преобразующий параллельные программы на языке Fortran-DVM/OpenMP* в программы на стандартном языке Fortran ОрепМР, выполняющиеся в узлах SMP-кластера и взаимодействующие между собой посредством MPI.
3. Проведено исследование характеристик разработанных на языке Fortran-DVM/OpenMP реальных приложений (тесты NAS и др.), подтвердившее применимость языка и эффективность его отображения на 8МР-кластеры.
Перечисленные результаты обладают научной новизной.
Практическая ценность работы
Разработанный язык Рог1гап-ОУМ/ОрепМР и компилятор используются для создания программ, способных эффективно выполняться на последовательных ЭВМ, мультипроцессорных ЭВМ с общей памятью, кластерах и БМР-кластерах.
Разработанный язык и компилятор используются на факультете ВМиК МГУ при проведении практикума по технологиям параллельного программирования, а также служат базой для распараллеливающего компилятора с языка Фортран, создаваемого в рамках программы Союзного государства «ТРИАДА», и системы автоматизации распараллеливания Фортран-программ, создаваемой в рамках программы №14 Президиума РАН.
Апробация работы
Основные результаты работы опубликованы [17-19]. Результаты работы обсуждались на следующих конференциях и семинарах:
1. Всероссийская научная конференция «Научный сервис в сети Интернет: технологии параллельного программирования», г. Новороссийск, сентябрь 2006 г.
2. Первая Всероссийская научная конференция «Методьъ и средства обработки информации», г. Москва, октябрь 2003 г.
3. Второй Международный научно-практический семинар «Высокопроизводительные параллельные вычисления на кластерных системах», г. Нижний Новгород, ноябрь 2002.
4. Всероссийская научная конференция «Научный сервис в сети ИНТЕРНЕТ», г.Новороссийск, сентябрь 2002 г.
5. Международный семинар «Супервычисления и математическое моделирование», г.Саров, июнь 2002 г.
Краткое содержание работы
В первой главе приводится обзор и анализ подходов к моделям и языкам параллельного программирования. Обосновывается необходимость использования модели ОрепМР в многоядерных узлах кластеров и перспективность предлагаемой гибридной модели программирования DVM/OpenMP, получающейся путем объединения моделей DVM и ОрепМР.
Вторая глава посвящена описанию гибридной модели параллельного программирования DVM/OpenMP и языка, Fortran-DVM/OpenMP. Изложены основные принципы объединения моделей DVM и ОрепМР, отмечены основные достоинства новой модели по сравнению с моделью* MPI/OpenMP. Приведено краткое описание языка Fortran-DVM/OpenMP и примеры программ на этом языке.
В третьей главе представлен компилятор с языка Fortran-DVM/OpenMP. Приводится схема функционирования компилятора, описываются его отличия от компилятора с языка Fortran-DVM.
Четвертая глава содержит информацию об использовании языка Fortran-DVM/OpenMP для программирования реальных приложений. Описываются особенности программирования тестов NAS (ВТ, LU, SP), задачи расчета солнечной конвекции, а также двух программ из пакета «РЕАКТОР». Приводятся, характеристики эффективности выполнения параллельных программ.
В заключении перечисляются основные результаты работы.
Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК
Исследование эффективности параллельных вычислений на кластере Московского энергетического института: технического университета2007 год, кандидат технических наук Лю Лян
Отображение DVMH-программ на кластеры с графическими процессорами2013 год, кандидат наук Притула, Михаил Николаевич
Система Норма: Разработка, реализация и использование для решения задач математической физики на параллельных ЭВМ2001 год, доктор физико-математических наук Андрианов, Александр Николаевич
Методы и инструментальные средства крупноблочного синтеза параллельных программ для вычислительных кластеров2005 год, кандидат технических наук Новопашин, Алексей Петрович
Методы и средства распараллеливания программ линейного класса для выполнения на многопроцессорных вычислительных системах2024 год, кандидат наук Лебедев Артем Сергеевич
Заключение диссертации по теме «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», Бахтин, Владимир Александрович
Заключение
Последние годы связаны с резким? изменением направления развития процессоров - появлением- многоядерных и многопоточных процессоров. Для высокопроизводительных вычислений на кластерах теперь требуется более глубокое распараллеливание, обеспечивающее, по крайней мере, два уровня параллелизма — уже привычный параллелизм между узлами кластера* и дополнительный параллелизм между ядрами в узле. В настоящее время такой двухуровневый параллелизм наиболее, легко, и эффективно выражать посредством использования между узлами модели передачи сообщений MPI, а внутри узлов - модели OpenMP. Однако, использование двух разных моделей программирования и соответствующих им разных инструментальных средств еще более усложняет и без того нелегкую работу по созданию параллельных программ.
Требуется предоставить программисту более удобную модель программирования и соответствующие инструментальные средства.
В диссертационной работе были достигнуты следующие основные результаты:
1. Предложена новая модель и новый язык параллельного программирования — гибридная модель DVM/OpenMP и язык Fortran-DVM/OpenMP, позволяющие разрабатывать эффективные, переносимые программы для SMP-кластеров и высокопроизводительных систем с многоуровневым параллелизмом.
2. Разработан компилятор, преобразующий параллельные программы на языке Fortran-DVM/OpenMP в программы на стандартном языке Fortran OpenMP, выполняющиеся в узлах SMP-кластера и взаимодействующие между собой посредством MPI.
3. Проведено исследование характеристик разработанных на языке Fortran-DVM/OpenMP реальных приложений (тесты NAS и др.), подтвердившее применимость языка и эффективность его отображения на SMP-кластеры.
Список литературы диссертационного исследования кандидат физико-математических наук Бахтин, Владимир Александрович, 2008 год
1. Message-Passing 1.terface Forum, Document for a Standard Message-Passing Interface, 1994: Version 1.0) (http://www.unix.mcs.anl.gov/mpi/);
2. High Performance Fortran Forum. High Performance Fortran Language Specification, version 2.0, Rice University, Houston, Tex.,. January 1997. (http://hpff.rice.edu/versions/hpf2/index.htm)
3. OpenMP Consortium: OpenMP Fortran Application Program Interface, Version 1.0; October 1997. (http://www.openmp.org/)
4. OpenMP С and С++ Application Program Interface. Version 1.0 October 1998. (http://www.openmp.org/)
5. Jack Dongarra, Dennis Gannon, Geoffrey Fox, Ken Kennedy. The Impact of Multicore on Computational, Science Software; CTWatch Quarterly The Promise and Perils of the Coming Revolution and Its Impacts, Volume 3,
6. Number 1, February, 2007, pages 3-10 (http://www.ctwatch.Org/quarterly/l
7. John L.Manferdelli. The Many-Core Inflection Point lor Mass Market Computer Systems. CTWatch Quarterly The Promise and Perils of the Coming Revolution and Its Impacts, Volume 3, Number 1, February, 2007, pages 11-17 (http ://www.ctwatch.org/quarterly/)
8. Portable Operating System Interface. ANSI/IEEE POSIX 1003.1-199510: Dave Turek. High Performance Computing and the Implications of Multi-core Architectures. CTWatch Quarterly The Promise and Perils of the Coming
9. Revolution and Its Impacts, Volume 3,Number 1, February, 2007, pages 31-33 nittp://www.ctwatch.org/quarterly/>
10. Robert Alverson, David Callahan, Daniel Cummings, Brian Koblenz, Allan Porterfield, and Burton Smith. The Tera computer system; In Proceedings of the 1990 International Conference on Supercomputing, pages 1-6.
11. Leasure, В., Ed. PCF Fortran: Language Definition, version 3d. The Parallel Computing Forum, Champaign, Aug, 1990.
12. Fortran DVM — язык разработки; мобильных параллельных программ / Н.А. Коновалов, В.А. Крюков, G.H. Михайлов и др. // Программирование. 1995.-№ 1 -С. 49-54. •
13. Коновалов Н.А., Крюков В.А., Сазанов ЮЛ. C-DVM язык разработки мобильных параллельных программ // Программирование. — 1999. — № 1. -С. 54-65. .16; DVM-система. (http://www.keldvsh.ru/dvm/)
14. Бахтин В.А., Коновалов Н:А., Крюков В.А. Расширение языка ОрепМР Fortran для распределенных систем // Вопросы атомной науки и техники. Серия математическое моделирование физических; процессов. — 2002. — Вып.4. С.65-70.
15. Разработка параллельных программ для решения больших вычислительных задач на SMP-кластерах. / В.А. Бахтин, Н.А. Коновалов,
16. В.А. Крюков*и др. // Труды Первой Всероссийской научной конференции «Методы и средства обработки информации». М., 2003. - С. 191-196.
17. Крюков В^А. Разработка параллельных программ для вычислительных кластеров и сетей. // Информационные технологии и вычислительные системы. 2003 - № 1-2. - С. 42-60.
18. Ken Kennedy, Charles Koelbel, Hans Zima. The Rise and Fall of High Performance Fortran: An Historical Object Lesson. Proceedings of the third ACM SIGPLAN conference on History of programming languages 2007, San Diego, California, 2007. Pages: 7-1 7-22.
19. Ray Barriuso and Allan Knies. SHMEM user's guide for C. Technical report, Gray Research Inc., June 1994.
20. Robert W. Numerich and John Reid. Co-array fortran for parallel programming. SIGPLAN Fortran Forum, 17(2):1-31, 1998
21. William W. Carlson, Jesse M. Draper, David E. Culler, Kathy Yelick, Eugene Brooks, and Karen Warren. Introduction to UPC and language specification. Technical Report CCS-TR-99-157,Center for Computer Sciences, Bowie, MD, May 1999.
22. Cray Inc., Seattle, WA. Chapel Specification, 0.4 edition, February 2005. (http://chapel.cs.washington.edu).
23. Sun Microsystems, Inc., Burlington, Massachusets. The Fortress Language Specification, Version 0.707, July 2005.
24. OpenMP Consortium: OpenMP Application Program Interface; Version 2.5, May 2005. (http://www.openmp.org/mp-documents/spec25.pdf)
25. Описание языка Fortran-DVM/OpenMP. Версия 2.0, 2006 (http://www.keldysh.ru/dvm/omp/)
26. Система поддержки выполнения параллельных программ (библиотека Lib-DVM)http://www.keldysh.ru/dvm/dvmhtml 107/rus/sys/libdvm/rtsIDr0.html)
27. Sage++: An object-oriented toolkit and class library for building fortran and С++ restructuring tools / F. Bodin, P. Beckman, D. Gannon et al. // Proceedings. OONSKI '94. Oregon: 1994
28. Intel Corporation. / Intel Thread Checker, (http: / / w w w .intel .com/support/performancetools/threadchecker)
29. Sun Studio Thread Analyzer. (http://developers.sun.com/sunstudio/downloads/tha/)
30. Steven Cameron Woo, Moriyoshi Ohara, Evan Torrie, Jaswinder Pal Singh, and Anoop Gupta. The SPLASH-2 Programs: Characterization and Methodological Considerations. In Proceedings of the 22nd International
31. Symposium on Computer Architecture, pages 24-36, Santa Margherita Ligure, Italy, June 1995. fftp://wwwflash.stanford.edu/pub/splash2/splash2 isca95.ps.Z).
32. James Rose. Intel Tools Make Threading' Easier on Multiple Processors. Intel Software Network. July 14, 2007. (http://softwarecommunity.intel.com/articles/eng/2664.htm)
33. Крюков B.A., Удовиченко, P.B. Отладка DVM программ // Препринт ИПМ им. М.В.Келдыша-РАН. — 1999. -№56.
34. Bernd Mohr, Allen D. Malony, Hans-Christian Hoppe, Frank Schiimbach, Grant Haab, Jay Hoeflinger, Sanjiv Shah. A Performance Monitoring Interface for OpenMP: (http://www.research.ibm.com/actc/proiects/pdf/EWQMP02-POMP.pdf)
35. Интерфейс инструментации Fortran DVM/OpenMP-программ. Версия1 1.2.2, 2007г. (http://www.keldvsh.ru/dvm/omp/QpenMPInstr.doc)
36. A.Voronkov, V.Arzhanov. REACTOR Program System for Neutron-Physical Calculations. Proc. International Topical Meeting: Advances in Mathematics, Computations, and Reactor Physics, USA, Vol5, April 28 — May 2, 1991
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.