DOI QR코드

DOI QR Code

Performance Analysis of the Parallel CUPID Code for Various Parallel Programming Models in Symmetric Multi-Processing System

Symmetric Multi-Processing 시스템에서 다양한 병렬 기법 모델을 적용한 병렬 CUPID 코드의 성능분석

  • Jeon, Byoung Jin (Dept. of Energy System, Graduate School of Energy and Environment, Seoul Nat'l Univ. of Science and Technology) ;
  • Lee, Jae Ryong (Thermal Hydraulics Safety Research Division, Korea Atomic Energy Research Institute) ;
  • Yoon, Han Young (Thermal Hydraulics Safety Research Division, Korea Atomic Energy Research Institute) ;
  • Choi, Hyoung Gwon (Dept. of Mechanical/Automotive Engineering, Seoul Nat'l Univ. of Science and Technology)
  • 전병진 (서울과학기술대학교 에너지환경대학원 에너지시스템공학과) ;
  • 이재룡 (한국원자력연구원 열수력안전연구부) ;
  • 윤한영 (한국원자력연구원 열수력안전연구부) ;
  • 최형권 (서울과학기술대학교 기계자동차공학과)
  • Received : 2013.08.23
  • Accepted : 2013.10.23
  • Published : 2014.01.01

Abstract

A parallelization of the bi-conjugate gradient solver for the pressure equation of the CUPID (component unstructured program for interfacial dynamics) code, which was developed for analyzing the components of a pressurized water-cooled reactor, was studied in a symmetric multi-processing system. The parallel performance was investigated for three typical parallel programming models (MPI, OpenMP, Hybrid) by solving incompressible backward-facing step flow at various grid resolutions. It was confirmed that parallel performance was low when problem size was small or the memory requirement for each thread was considerably higher than the cache memory. Furthermore, it was shown that MPI was better than OpenMP regardless of the problem size, and Hybrid was the best when the number of threads was relatively small.

본 연구에서는 가압경수로 주요 기기의 고정밀 열수력 해석을 위한 CUPID(Component Unstructured Program for Interfacial Dynamics) 코드의 압력장 해석을 위한 이중공액구배법(Bi-Conjugate Gradient) 알고리즘의 병렬화를 SMP(Symmetric Multi Processing) 시스템에서 고찰한다. 비압축성 후향계단 유동문제의 병렬해석을 다양한 격자 조밀도를 가지는 격자들에 대하여 세 가지 대표적인 병렬 기법(MPI, OpenMP, 하이브리드)을 적용하여 병렬성능 비교를 수행하였다. 병렬처리 성능은 해석 문제의 크기뿐만 아니라 캐쉬 메모리 크기에도 영향을 받으므로, 전체 계산량이 매우 적거나 개별 쓰레드에 사용되는 메모리가 캐쉬 메모리보다 매우 큰 경우에는 병렬화에 의한 성능 향상이 낮음을 확인하였다. 또한, 문제 크기에 상관없이 MPI 기법이 OpenMP보다 성능이 우수했으며, 상대적으로 적은 쓰레드를 사용한 경우엔 하이브리드 기법이 가장 우수한 성능을 보였다.

Keywords

References

  1. Kirk, D. B. and Hwu, W. W, 2010, Programming Massively Parallel Processors, Elsevier Inc, pp. 19-27.
  2. Lee, J. H., Oh, Y. E. and Kim, J. S., 2003, "Design and Implementation of GRID MDS for Hyperthreading," KISS 2003 Fall Conference, Vol. 30, pp. 166-168.
  3. Snir, M., Otto, S., Huss-Lederman, S., Walker, D. and Dongarra, J., 1996, MPI: The Complete Reference, The MIT Press.
  4. Kang, S. W., Choi, H. G. and Yoo, J. Y., 2002, "Parallelized Dynamic Large Eddy Simulation of Turbulent Flow Around a Vehicle Model," Proceedings of the KSME 2002 Spring Annual Meeting, pp. 1562-1567.
  5. Choi, H. G., Kang, S. W. and Yoo, J. Y., 2008, "Parallel Large Eddy Simulation of Turbulent Flow around MIRA Model using Linear Equal-order Finite Element Method," International Journal for Numerical Methods in Fluids, Vol. 56, pp. 823-843. https://doi.org/10.1002/fld.1555
  6. http://www-users.cs.umm.edu/-karypis/metis
  7. Kim, J. N., Kim, H. J. and Lee, C. H., 2000, "The Node Scheduling of Multi-Threaded Process for CC-NUMA System," The Transactions of the Korea Information Processing Society, Vol. 22, pp. 488-496.
  8. Jung, Y. H, 2011, OpenMP Parallel Programming, freelec, pp. 21-30.
  9. Kim, J. K., Jang, K. J., Kim, T. Y. and Choi, J. Y., 2011, "OpenMP Parallel Performance of a CFD Code on Multi-core Systems," Proceedings of the Korean Society of Computational Fluids Engineering 2011 Fall Annual Meeting, pp. 254-258.
  10. Rabenseifner, R., 2003, "Hybrid Parallel Programming: Performance Problems and Chances," Proceedings of the 45th CUG Conference 2003, pp. 1-11.
  11. Jeong, J. J., Yoon, H. Y., Park, I. K., Cho, H. K. and Kim, J., 2008, "A Semi-implicit Numerical Scheme for Transient Two-Phase Flows on Unstructured Grids," Nuclear Engineering and Design, Vol. 238, pp. 3403-3412. https://doi.org/10.1016/j.nucengdes.2008.08.017
  12. Yoon, H. Y., Park, I. K., Kim, Y. I., Hwang, Y. D. and Jeong, J. J., 2010, "A Fast-Running Semi-Implicit Numerical Scheme for Transient Two-Phase Flows on Unstructured Grids," Numerical Heat Transfer Part B: Fundamentals, Vol. 56, pp. 432-454. https://doi.org/10.1080/10407790903526659
  13. Cho, H. K., Lee, S. J., Yoon, H. Y., Kang, K. H. and Jeong, J. J., 2013, "Simulation of Single- and Two-phase Natural Circulation in the Passive Condensate Cooling Tank using the CUPID code," Journal of Nuclear Science and Technology, Vol. 50, pp. 709-722. https://doi.org/10.1080/00223131.2013.791891
  14. Yoon, H. Y., Jeong, J. J., Cho, H. K., Bang, Y. S. and Seul, K. W., 2013, "A Multi-scale Analysis of the Transient Behavior of an Advanced Safety Injection Tank," Annals of Nuclear Energy, Vol. 62, pp. 17-25. https://doi.org/10.1016/j.anucene.2013.05.042
  15. http://software.intel.com/en-us/fortran-compilers/
  16. Kang, S. W., Choi, H. G. and Yoo, J. Y., 2003, "Parallel Preconditioner for the Domain Decomposition Method of the Discretized Navier-Stokes Equation," Trans. Korean Soc. Mech. B, Vol. 27, pp. 753-765. https://doi.org/10.3795/KSME-B.2003.27.6.753
  17. Lof, H. and Rantakokko, J., 2006, "Algorithmic Optimizations of a Conjugate Gradient Solver on Shared Memory Architectures," International Journal of Parallel, Emergent and Distributed Systems, Vol. 21, pp. 345-363. https://doi.org/10.1080/17445760600568139
  18. http://www.intel.com/support/kr/processors/pentium4/sb/CS-017371.htm

Cited by

  1. PERFORMANCE ANALYSIS OF THE PARALLEL CUPID CODE IN DISTRIBUTED MEMORY SYSTEM BASED ETHERNET AND INFINIBAND NETWORK vol.19, pp.2, 2014, https://doi.org/10.6112/kscfe.2014.19.2.024