Distribution of computations in hybrid computing systems when translating NORMA language programs

Authors

  • A.N. Andrianov Keldysh Institute of Applied Mathematics of RAS
  • T.P. Baranova Keldysh Institute of Applied Mathematics of RAS
  • A.B. Bugerya Keldysh Institute of Applied Mathematics of RAS
  • K.N. Efimkin Keldysh Institute of Applied Mathematics of RAS

DOI:

https://doi.org/10.26089/NumMet.v20r321

Keywords:

parallel programming, programming automation, nonprocedural specifications, hybrid architectures, load balancing, NORMA language

Abstract

The methods of computational load distribution when translating programs from the nonprocedural (declarative) NORMA language into executable programs for various parallel architectures are discussed. Some brief characteristics of the NORMA language and the main features of the compiler for programs in NORMA language are given. The methods of automatic distribution of computational load when generating executable programs of the following types are described: OpenMP, NVIDIA CUDA, MPI+OpenMP, and MPI+OpenMP+NVIDIA CUDA. The problem of dynamic computational load balancing arising in the case of the heterogeneous computing environment MPI+OpenMP+NVIDIA CUDA is considered and a method of solving it is proposed. The results of practical application of the compiler for the programs in NORMA language for solving two different mathematical problems are given and the performance of the resulting executable programs is estimated for various parallel architectures.

Author Biographies

A.N. Andrianov

T.P. Baranova

A.B. Bugerya

K.N. Efimkin

References

  1. Воеводин В.В. Математические модели и методы в параллельных процессах. М.: Наука, 1986.
  2. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. С.-Петербург: БХВ-Петербург, 2002.
  3. OpenACC. http://openacc.org.
  4. DVM-система. URL: http://dvm-system.org.
  5. Андрианов А.Н., Бугеря А.Б., Ефимкин К.Н., Задыхайло И.Б. НОРМА. Описание языка. Рабочий стандарт. Препринт ИПМ им. М.В. Келдыша РАН. № 120. М., 1995.
  6. McGraw J.R., Skedzielewski S.K., Allan S.J., Oldehoeft R.R., Glauert J., Kirkham C., Noyce B., Thomas R. Sisal: Streams and iterations in a single assignment language. Language Reference Manual, Version 1.2. Livermore: Lawrence Livermore National Laboratory, 1985.
  7. Касьянов В.Н., Стасенко А.П. Язык программирования Sisal 3.2 // Методы и инструменты конструирования программ. Новосибирск: Институт систем информатики имени А.П. Ершова СО РАН. 2007. 56-134.
  8. Chamberlain B.L., Choi S.-E., Lewis E.C., Lin C., Snyder L., Weathersby W.D. ZPL: a machine independent programming language for parallel computers // IEEE Trans. Software Eng. 2000. Vol. 26, N 3. 197-211.
  9. Задыхайло И.Б. Организация циклического процесса счета по параметрической записи специального вида // Журн. выч. мат. и мат. физ. 1963. 3, № 2. 337-357.
  10. Андрианов А.Н., Ефимкин К.Н., Задыхайло И.Б. Непроцедурный язык для решения задач математической физики // Программирование. 1991. № 2. 80-95.
  11. Задыхайло И.Б., Ефимкин К.Н. Содержательные обозначения и языки нового поколения // Информационные технологии и вычислительные системы. 1996. № 2. 46-58.
  12. Андрианов А.Н., Бугеря А.Б., Гладкова Е.Н., Ефимкин К.Н., Колударов П.И. Простые вещи // Суперкомпьютеры. 2014. № 2. 58-61.
  13. Система НОРМА. http://www.keldysh.ru/pages/norma.
  14. Андрианов А.Н., Бугеря А.Б., Ефимкин К.Н., Колударов П.И. Модульная архитектура компилятора языка Норма+. Препринт ИПМ им. М.В. Келдыша РАН. № 64. М., 2011.
  15. Бугеря А.Б. Диалоговая отладка параллельных программ: распределенная схема взаимодействующих компонентов // Программирование. 2008. № 3. 42-49.
  16. Андрианов А.Н. Система Норма. Разработка, реализация и использование для решения задач математической физики на параллельных ЭВМ. Автореф. дис. докт. физ.-мат. наук. М., 2001.
  17. Андрианов А.Н., Андрианова Е.А. Организация циклического процесса по непроцедурной записи // Программирование. 1996. № 4. 62-72.
  18. Андрианов А.Н. Синтез параллельных и векторных программ по непроцедурной записи в языке Норма. Дис. канд. физ.-мат. наук. 1990.
  19. Васильев М.М., Ефимкин К.Н., Иванова В.Н. О применении метода гидродинамических потенциалов к задаче обтекания тела вязкой жидкостью // Математическое моделирование. 1994. 6, № 10. 57-65.
  20. Андрианов А.Н., Гусева Г.Н., Задыхайло И.Б. Применение языка Норма для расчета дозвукового течения вязкого газа // Математическое моделирование. 1999. 11, № 9. 45-53.
  21. Андрианов А.Н., Жохова А.В., Четверушкин Б.Н. Использование параллельных алгоритмов для расчетов газодинамических течений на нерегулярных сетках // Прикладная математика и информатика. М.: Изд-во Моск. ун-та, 2000. 68-76.
  22. Андрианов А.Н., Ефимкин К.Н. Использование системы Норма для решения вычислительных задач на многопроцессорных системах с распределенной памятью // Вычислительные методы и программирование. 2000. 1. 45-54.
  23. Andrianov A.N., Efimkin K.N., Levashov V.Yu., Shishkova I.N. The Norma language application to solution of strong nonequilibrium transfer process problem with condensation of mixtures on the multiprocessor system. Vol. 2073. Heidelberg: Springer, 2001. 502-510.
  24. Андрианов А.Н. Применение языка Норма для решения задач на вложенных сетках // Вычислительные методы и программирование. 2002. 3. 1-10.
  25. Андрианов А.Н., Березин А.В., Воронцов А.С., Ефимкин К.Н., Марков М.Б. Моделирование электромагнитных полей радиационного происхождения на многопроцессорных вычислительных системах // Математическое моделирование. 2008. 20, № 3. 98-114.
  26. NAS Parallel Benchmarks. http://www.nas.nasa.gov/publications/npb.html.
  27. Гибридный вычислительный кластер K-100. https://ckp.kiam.ru/?hard.
  28. CUDA Toolkit Documentation. https://docs.nvidia.com/cuda.

Published

2019-06-20

How to Cite

Андрианов А.Н., Баранова Т.П., Бугеря А.Б., Ефимкин К.Н. Distribution of Computations in Hybrid Computing Systems When Translating NORMA Language Programs // Numerical methods and programming. 2019. 20. 224-236. doi 10.26089/NumMet.v20r321

Issue

Section

Section 1. Numerical methods and applications