Гибридная модель параллельного программирования 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 год, кандидат наук Колганов Александр Сергеевич
Исследование эффективности параллельных вычислений на кластере Московского энергетического института: технического университета2007 год, кандидат технических наук Лю Лян
Введение диссертации (часть автореферата) на тему «Гибридная модель параллельного программирования 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 шифр ВАК
Отображение DVMH-программ на кластеры с графическими процессорами2013 год, кандидат наук Притула, Михаил Николаевич
Система Норма: Разработка, реализация и использование для решения задач математической физики на параллельных ЭВМ2001 год, доктор физико-математических наук Андрианов, Александр Николаевич
Методы и инструментальные средства крупноблочного синтеза параллельных программ для вычислительных кластеров2005 год, кандидат технических наук Новопашин, Алексей Петрович
Методы и средства распараллеливания программ линейного класса для выполнения на многопроцессорных вычислительных системах2024 год, кандидат наук Лебедев Артем Сергеевич
Методы создания и эквивалентных преобразований параллельных программ с учетом информационных зависимостей2014 год, кандидат наук Шичкина, Юлия Александровна
Заключение диссертации по теме «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», Бахтин, Владимир Александрович
Заключение
Последние годы связаны с резким? изменением направления развития процессоров - появлением- многоядерных и многопоточных процессоров. Для высокопроизводительных вычислений на кластерах теперь требуется более глубокое распараллеливание, обеспечивающее, по крайней мере, два уровня параллелизма — уже привычный параллелизм между узлами кластера* и дополнительный параллелизм между ядрами в узле. В настоящее время такой двухуровневый параллелизм наиболее, легко, и эффективно выражать посредством использования между узлами модели передачи сообщений 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 файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.