Abstract
In this paper, the optimum coding method is proposed by using open library in order to improve the performance of a software correlator developed for Korea-Japan Joint VLBI Correlator(KJJVC). The correlation system for VLBI observing system is generally implemented with hardware using ASIC or FPGA because the computational quantity is increased geometrically according to the participated observatory number. However, the software correlation system is recently constructed at a massive server such as a cluster using software according to the development of computing power. Since VLBI correlator implemented with hardware is able to conduct data processing with real-time or quasi real-time compared with mostly observational time, software correlation has to perform optimal data processing in coding work so as to have the same performance as that of the hardware. Therefore, in this paper, the experimental comparison was conducted by open-source based fftw library released in FFT processing stage, which is the most important part of the correlator system for performing optimum coding work in software development phase, such as general method using fftw library or methods using SSE(Streaming SIMD Extensions), shared memory, or OpenMP, and method using merged techniques listed above. Through the experimental results, the proposed optimum coding method for improving the performance of developed software correlator using fftw library, shared memory and OpenMP is effectively confirmed by reducing correlation time compared with conventional method.
본 논문에서는 한일공동VLBI상관기를 위한 소프트웨어 상관기의 성능개선을 위해 공개된 라이브러리를 이용한 최적 코딩 방법에 대해 제안한다. VLBI 관측데이터를 상관처리하는 시스템은 관측국 수에 따라 계산량이 기하급수적으로 증기하기 때문에 일반적으로 ASIC 또는 FPGA를 이용하여 하드웨어로 구축한다. 하지만 최근에는 컴퓨터 성능의 발전에 따라 소프트웨어를 이용하여 클러스터와 같은 대용량 서버에서 구축하고 있다. 하드웨어로 구축한 VLBI 상관처리 시스템은 대부분 관측시간대비 준 실시간 또는 실시간으로 데이터처리를 수행하기 때문에, 소프트웨어 상관처리 시스템도 이와 같은 성능을 갖기 위해서는 코딩작업에서 데이터 처리를 최적으로 수행할 수 있어야 한다. 따라서 본 논문에서는 상관처리 시스템에서 가장 중요한 과정인 FFT 처리과정에서 공개된 fftw 라이브러리를 활용하여 최적코딩을 수행할 수 있도록 fftw 라이브러리를 이용한 일반적인 방법, SSE를 활용한 방법, 공유메모리를 사용한 방법, OpenMP를 활용한 방법, 그리고 제시한 것들을 병합한 방법을 적용한 경우에 대해 상관처리 실험을 수행하였다. 상관처리실험을 통하여 본 논문에서 제안한 fftw와 공유메모리, 그리고 OpenMP를 적용한 최적 코딩 방법이 상관처리 시간을 단축할 수 있어서 소프트웨어 상관기의 성능개선에 유효함을 확인하였다.