Опыт применения механизма областей для поэтапного распараллеливания программных комплексов с помощью системы SAPFOR
Авторы
-
А. С. Колганов
Ключевые слова:
SAPFOR (System FOR Automated Parallelization)
автоматизация распараллеливания
параллельные вычисления
DVM (Distributed Virtual Memory)
инкрементальное распараллели- вание для кластера
Аннотация
Одна из основных сложностей разработки параллельной программы для кластера — необходимость принятия глобальных решений по распределению данных и вычислений с учетом свойств всей программы, а затем выполнения кропотливой работы по модификации программы и ее отладки. Большой объем программного кода, а также многомодульность, многовариантность и многоязыковость, затрудняют принятие решений по согласованному распределению данных и вычислений. Опыт использования предыдущей системы САПФОР показал, что при распараллеливании на кластер больших программ и программных комплексов необходимо уметь распараллеливать их постепенно, начиная с наиболее времяемких фрагментов и постепенно добавляя новые фрагменты, пока не достигнем желаемого уровня эффективности параллельной программы. С этой целью предыдущая система была полностью переработана, и на ее основе была создана новая система SAPFOR (System FOR Automated Parallelization). В данной статье будет рассмотрен опыт применения метода частичного распараллеливания, идея которого заключается в том, что распараллеливанию подвергается не вся программа целиком, а ее части (области распараллеливания) — в них заводятся дополнительные экземпляры требуемых данных, производится распределение этих данных и соответствующих им вычислений.
Раздел
Параллельные программные средства и технологии
Библиографические ссылки
- NVidia CUDA Zone.
https://developer.nvidia.com/cuda-zone . Cited November 15, 2020.
- 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).
- DVM–system.
http://dvm-system.org/. Cited November 15, 2020.
- 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).
- 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.
- 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.
- 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.
- 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.
- BERT77 system: Automatic and Efficient Parallelizer for FORTRAN.
http://www.sai.msu.su/sal/C/3/ BERT_77.html . Cited November 15, 2020.
- ParaWise System.
http://www.parallelsp.com/. Cited November 15, 2020.
- DVMH model.
http://dvm-system.org/static_data/docs/FDVMH-user-guide-ru.pdf . Cited November 15, 2020.
- 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.
- NAS Parallel Benchmarks.
https://www.nas.nasa.gov/publications/npb.html . Cited November 15, 2020.
- D. H. Bailey and J. T. Barton, The NAS Kernel Benchmark Program , Report TM-86711 (NASA Ames Research Center, Moffett Field, 1985).
- T. H. Pulliam, Efficient Solution Methods for the Navier-Stokes Equations (Von Kármán Inst. for Fluid Dynamics, Rhode-Saint-Genése, 1986).
- 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
- The NAS Parallel Benchmarks.
https://www.nas.nasa.gov/assets/pdf/techreports/1994/rnr-94-007.pdf . Cited November 15, 2020.
- K60 Supercomputer.
https://keldysh.ru/. Cited November 15, 2020.
- NAS Parallel Benchmarks with CUDA.
https://www.tu-chemnitz.de/informatik/PI/sonstiges/downloads/npb-gpu/index.php.en . Cited November 15, 2020.
- NAS Parallel Benchmarks with OpenCL.
http://aces.snu.ac.kr/software/snu-npb/. Cited November 15, 2020.