DOI QR코드

DOI QR Code

Implementation of Massive FDTD Simulation Computing Model Based on MPI Cluster for Semi-conductor Process

반도체 검증을 위한 MPI 기반 클러스터에서의 대용량 FDTD 시뮬레이션 연산환경 구축

  • Received : 2015.03.10
  • Accepted : 2015.08.05
  • Published : 2015.09.28

Abstract

In the semi-conductor process, a simulation process is performed to detect defects by analyzing the behavior of the impurity through the physical quantity calculation of the inner element. In order to perform the simulation, Finite-Difference Time-Domain(FDTD) algorithm is used. The improvement of semiconductor which is composed of nanoscale elements, the size of simulation is getting bigger. Problems that a processor such as CPU or GPU cannot perform the simulation due to the massive size of matrix or a computer consist of multiple processors cannot handle a massive FDTD may come up. For those problems, studies are performed with parallel/distributed computing. However, in the past, only single type of processor was used. In GPU's case, it performs fast, but at the same time, it has limited memory. On the other hand, in CPU, it performs slower than that of GPU. To solve the problem, we implemented a computing model that can handle any FDTD simulation regardless of size on the cluster which consist of heterogeneous processors. We tested the simulation on processors using MPI libraries which is based on 'point to point' communication and verified that it operates correctly regardless of the number of node and type. Also, we analyzed the performance by measuring the total execution time and specific time for the simulation on each test.

반도체 공정에서는 소자 내부의 물리량 계산을 통해 불순물의 움직임을 해석하여 결점을 검출하는 시뮬레이션을 수행하게 된다. 이를 위해 유한 차분 시간 영역 알고리즘(Finite-Difference Time-Domain, 이하 FDTD)과 같은 수치해석 기법이 사용된다. 반도체 칩의 집적도 향상으로 인하여 소자의 크기는 나노스케일 시대로 접어들었으며, 시뮬레이션 사이즈 또한 커지고 있는 추세이다. 이에 따라 CPU와 GPU 같은 하나의 연산 장치에서 수행할 수 없는 문제와 다중의 연산 장치로 구성된 한 대의 컴퓨터에서 수행할 수 없는 문제가 발생하기도 한다. 이러한 문제로 인해 분산 병렬처리를 통한 FDTD 알고리즘 연구가 진행되고 있다. 하지만 기존의 연구들은 단일 연산장치만을 이용하기 때문에 GPU를 사용하는 경우 연산 속도는 빠르나 메모리의 제한이 있으며 CPU의 경우 GPU에 비해 연산 속도가 느린 단점이 존재한다. 이를 해결하기 위해 본 논문에서는 CPU, GPU의 이기종 연산 장치를 포함하는 컴퓨터로 구축된 클러스터 상에서 작업 사이즈에 제한되지 않고 시뮬레이션 수행이 가능한 컴퓨팅 모델을 구현하였다. 점대점 통신 기반의 MPI 라이브러리를 이용하여 연산 장치 간 통신을 통한 시뮬레이션을 테스트 하였고 사용하는 연산 장치의 종류와 수에 상관없이 시뮬레이션이 정상 동작함을 확인하였다.

Keywords

References

  1. 데이비드 B. 커크, 원메이 W. 후, 대규모 병렬 프로세서 프로그래밍 CUDA를 이용한 실용적 접근, BJ퍼블릭, 2010.
  2. NVIDIA CUDA Programming Guide V2.0, http://kr.nvidia.com/object/cuda_develop_kr.htmll, accessed on 13 April 2009.
  3. 이홍석, 김정한, 이승우, 이식, MPI 병렬 프로그래밍 : 멀티코어 시대에 꼭 알아야할, 어드북스, 2010.
  4. 고영관, 고속 연산처리를 위한 CUDA 기반의 병렬 처리 소프트웨어 설계 및 구현, 충남대학교 학위논문, 2013.
  5. 박종현, 이정수, 김준성 "클러스터 환경의 병렬처리를 통한 FDTD 알고리즘의 성능 향상 분석", 대한전자공학회 추계학술대회, 제32권, 제2호.
  6. David M. Sheen, Sami M. A, and Mohamed D. A., "Application of the three-dimensional Finite-Difference Time-Domainn method to the analysis of planar microstrip circuit," IEEE Transaction on Microwaqve Theory and Techniques, Vol.38, pp.849-857, 1990. https://doi.org/10.1109/22.55775
  7. https://developer.nvidia.com/gpudirect
  8. 정복재, "CUDA로 구현한 FDTD 알고리즘의 OpenMP기술 적용 및 성능 측정", 한국컴퓨터정보학회 통계학술대회 논문집, 제21권, 제1호.
  9. 조용희, "OpenMP, MPI, CUDA를 이용한 안테나 수치 계산 가속화", 한국콘텐츠학회 종합학술대회 논문집, 2014.
  10. Cameron Hughes and Tracey Hughes, C++ 병렬.분산 프로그래밍, 정보문화사.
  11. 정영훈, CUDA 병렬 프로그래밍, 프리랙, 2011.