DOI: https://doi.org/10.26089/NumMet.v21r432

Опыт применения механизма областей для поэтапного распараллеливания программных комплексов с помощью системы SAPFOR

Авторы

  • А. С. Колганов

Ключевые слова:

SAPFOR (System FOR Automated Parallelization)
автоматизация распараллеливания
параллельные вычисления
DVM (Distributed Virtual Memory)
инкрементальное распараллели- вание для кластера

Аннотация

Одна из основных сложностей разработки параллельной программы для кластера — необходимость принятия глобальных решений по распределению данных и вычислений с учетом свойств всей программы, а затем выполнения кропотливой работы по модификации программы и ее отладки. Большой объем программного кода, а также многомодульность, многовариантность и многоязыковость, затрудняют принятие решений по согласованному распределению данных и вычислений. Опыт использования предыдущей системы САПФОР показал, что при распараллеливании на кластер больших программ и программных комплексов необходимо уметь распараллеливать их постепенно, начиная с наиболее времяемких фрагментов и постепенно добавляя новые фрагменты, пока не достигнем желаемого уровня эффективности параллельной программы. С этой целью предыдущая система была полностью переработана, и на ее основе была создана новая система SAPFOR (System FOR Automated Parallelization). В данной статье будет рассмотрен опыт применения метода частичного распараллеливания, идея которого заключается в том, что распараллеливанию подвергается не вся программа целиком, а ее части (области распараллеливания) — в них заводятся дополнительные экземпляры требуемых данных, производится распределение этих данных и соответствующих им вычислений.


Загрузки

Опубликован

2020-11-12

Выпуск

Раздел

Параллельные программные средства и технологии

Автор

А. С. Колганов

Институт прикладной математики имени М.В. Келдыша РАН (ИПМ РАН),
Миусская пл., 4, 125047, Москва
• научный сотрудник


Библиографические ссылки

  1. NVidia CUDA Zone.
    https://developer.nvidia.com/cuda-zone . Cited November 15, 2020.
  2. A. S. Kolganov, N. A. Kataev, and P. A. Titov, “Automated Parallelization of a Simulation Method of Elastic Wave Propagation in Media with Complex 3D Geometry Surface on High-Performance Heterogeneous Clusters,” Vestn. Ufa Aviatsion. Tekh. Univ. 21 (3), 87-96 (2017).
  3. DVM–system.
    http://dvm-system.org/. Cited November 15, 2020.
  4. M. S. Klinov and V. A. Kryukov, “Automatic Parallelization of Fortran Programs. Mapping to Cluster,” Vestn. Lobachevskii Univ. Nizhni Novgorod, No. 2, 128-134 (2009).
  5. V. A. Bakhtin, O. F. Zhukova, N. A. Kataev, et al., “Automation of Software Package Parallelization,” in Proc. XVIII All-Russian Conference on Scientific Service on the Internet, Novorossiysk, Russia, September 19-24, 2016 (Keldysh Institute of Applied Mathematics, Moscow, 2016), pp. 76-85.
  6. V. A. Bakhtin, O. F. Zhukova, N. A. Kataev, et al., “Incremental Parallelization for Clusters in the SAPFOR System,” in Proc. XIX All-Russian Conference on Scientific Service on the Internet, Novorossiysk, Russia, September 18-23, 2017 (Keldysh Institute of Applied Mathematics, Moscow, 2017), pp. 48-52.
  7. A. S. Kolganov and S. V. Yashin, “Automatic Incremental Parallelization of Large Software Systems Using the SAPFOR System,” in Proc. Int. Conf. on Parallel Computing Technologies, Kaliningrad, Russia, April 2-4, 2019 (South Ural State Univ., Chelyabinsk, 2019), pp. 275-287.
  8. P. Banerjee, J. A. Chandy, M. Gupta, et al., “An Overview of the PARADIGM Compiler for Distributed-Memory Multicomputers,”
    http://www.cs.cmu.edu/~745/papers/paradigm.pdf . Cited November 15, 2020.
  9. BERT77 system: Automatic and Efficient Parallelizer for FORTRAN.
    http://www.sai.msu.su/sal/C/3/ BERT_77.html . Cited November 15, 2020.
  10. ParaWise System.
    http://www.parallelsp.com/. Cited November 15, 2020.
  11. DVMH model. 
    http://dvm-system.org/static_data/docs/FDVMH-user-guide-ru.pdf . Cited November 15, 2020.
  12. A. S. Kolganov and N. N. Korolev, “Static Analysis of Private Variables in the System of Automated Parallelization of Fortran Programs,” in Proc. Int. Conf. on Parallel Computing Technologies, Rostov-on-Don, Russia, April 2-6, 2018 (South Ural State Univ., Chelyabinsk, 2018), pp. 286-294.
  13. NAS Parallel Benchmarks.
    https://www.nas.nasa.gov/publications/npb.html . Cited November 15, 2020.
  14. D. H. Bailey and J. T. Barton, The NAS Kernel Benchmark Program , Report TM-86711 (NASA Ames Research Center, Moffett Field, 1985).
  15. T. H. Pulliam, Efficient Solution Methods for the Navier-Stokes Equations (Von Kármán Inst. for Fluid Dynamics, Rhode-Saint-Genése, 1986).
  16. A. Jameson, W. Schmidt, and E. Turkel, “Numerical Solution of the Euler Equations by Finite Volume Methods Using Runge-Kutta Time Stepping Schemes”, AIAA Paper 81-1259 (1981).
    doi 10.2514/6.1981-1259
  17. The NAS Parallel Benchmarks.
    https://www.nas.nasa.gov/assets/pdf/techreports/1994/rnr-94-007.pdf . Cited November 15, 2020.
  18. K60 Supercomputer.
    https://keldysh.ru/. Cited November 15, 2020.
  19. NAS Parallel Benchmarks with CUDA.
    https://www.tu-chemnitz.de/informatik/PI/sonstiges/downloads/npb-gpu/index.php.en . Cited November 15, 2020.
  20. NAS Parallel Benchmarks with OpenCL.
    http://aces.snu.ac.kr/software/snu-npb/. Cited November 15, 2020.