[논문 리뷰] Novel Model-based Methods for Performance Optimization of Multithreaded 2D Discrete Fourier Transform on Multicore Processors
이 논문은 기능 성능 모델(FPM)을 사용하여 다중코어 프로세서에서 다중스레드 2차원 이산 푸리에 변환(2D-DFT)을 최적화하기 위한 새로운 모델 기반 방법인 PFFT-FPM과 PFFT-FPM-PAD를 제안한다. 이는 이식 가능하고 적응형 로드 밸런싱을 가능하게 한다. 인텔 허슬 셰이버 서버에서의 실험 결과, FFTW-3.3.7 및 인텔 MKL FFT보다 평균적으로 각각 2.0배와 1.4배의 성능 향상을 보였으며, 최대 성능 향상은 9.4배에 이르렀다. 비최적화된 버전에 비해 성능이 크게 향상되었다.
In this paper, we use multithreaded fast Fourier transforms provided in three highly optimized packages, FFTW-2.1.5, FFTW-3.3.7, and Intel MKL FFT, to present a novel model-based parallel computing technique as a very effective and portable method for optimization of scientific multithreaded routines for performance, especially in the current multicore era where the processors have abundant number of cores. We propose two optimization methods, PFFT-FPM and PFFT-FPM-PAD, based on this technique. They compute 2D-DFT of a complex signal matrix of size NxN using p abstract processors. Both algorithms take as inputs, discrete 3D functions of performance against problem size of the processors and output the transformed signal matrix. Based on our experiments on a modern Intel Haswell multicore server consisting of 36 physical cores, the average and maximum speedups observed for PFFT-FPM using FFTW-3.3.7 are 1.9x and 6.8x respectively and the average and maximum speedups observed using Intel MKL FFT are 1.3x and 2x respectively. The average and maximum speedups observed for PFFT-FPM-PAD using FFTW-3.3.7 are 2x and 9.4x respectively and the average and maximum speedups observed using Intel MKL FFT are 1.4x and 5.9x respectively.
연구 동기 및 목표
- 빠르게 변화하는 하드웨어 환경에서 아키텍처에 특화된 코드 최적화의 한계를 해결하기 위해, 특히 장기적인 성능 향상이 이루어지지 않는 '레드 퀸 효과'에 대비한다.
- 인텔 MKL FFT와 같은 벤더 최적화 라이브러리가 항상 FFTW와 같은 오픈소스 대안보다 성능이 뛰어나다고 가정하는 것에 도전한다. 특히 평균 성능 측면에서의 성능을 고려한다.
- 문제 크기와 프로세서 구성의 변화에 따라 성능 변동에 적응할 수 있는 이식 가능하고 모델 기반의 최적화 기법을 개발한다.
- 기능 성능 모델을 기반으로 한 지능적이고 적응형 데이터 분할 기법을 통해 현대의 다중코어 시스템에서 다중스레드 2D-DFT 구현의 평균 성능을 향상시킨다.
- 모델 기반 최적화가 다양한 문제 크기에서 기존 라이브러리와 고도로 최적화된 벤더 라이브러리보다 뛰어난 성능을 낼 수 있음을 입증한다.
제안 방법
- 이 방법은 문제 크기의 연속적인 함수로 기능 성능 모델(FPM)을 사용하여 프로세서 성능을 예측하고, 데이터 기반의 로드 밸런싱을 가능하게 한다.
- PFFT-FPM은 FPM을 기반으로 p개의 추상 프로세서에 2D 신호 행렬을 분할하여 총 실행 시간을 최소화한다.
- PFFT-FPM-PAD는 로드 불균형 영향을 줄이고 로드 밸런싱을 향상시키기 위해 팯딩을 통합하여 PFFT-FPM을 향상시킨다.
- 알고리즘은 프로세서, 문제 크기, 성능를 입력으로 받는 이산 3D 성능 함수를 입력으로 받아 최적화된 2D-DFT 결과를 출력한다.
- 성능 모델은 36코어 시스템에서 1000개의 문제 크기로 FFTW-2.1.5, FFTW-3.3.7, 인텔 MKL FFT를 프로파일링하여 경험적으로 유도된다.
- 반복 실행 및 스터디언의 t-검정을 통한 통계적 검증을 통해 성능 측정의 95% 신뢰구간과 2.5% 정밀도를 확보한다.
실험 결과
연구 질문
- RQ1빠르게 변화하는 다중코어 아키텍처에서 아키텍처에 특화된 최적화는 '레드 퀸 효과'로 인해 수익 감소 현상이 발생하는가?
- RQ2이식 가능하고 모델 기반의 최적화 방법이 평균 성능에서 기존 오픈소스 FFT 라이브러리와 고도로 최적화된 벤더 라이브러리 모두를 능가할 수 있는가?
- RQ3기능 성능 모델(FPM)이 다중코어 프로세서에서 2D-DFT의 적응형 로드 밸런스된 병렬 처리를 얼마나 잘 가능하게 하는가?
- RQ4제안된 PFFT-FPM 및 PFFT-FPM-PAD 방법은 비최적화 및 벤더 최적화 FFT 구현 대비 다양한 문제 크기에서 성능을 얼마나 향상시키는가?
- RQ5패딩(PFFT-FPM-PAD)은 다중스레드 2D-DFT 계산에서 로드 밸런싱과 성능 향상에 어떤 영향을 미치는가?
주요 결과
- 비최적화된 FFTW-2.1.5보다 성능이 빠른 것으로 평가되는 FFTW-3.3.7의 평균 성능이 PFFT-FPM 최적화를 통해 42% 향상되었다.
- PFFT-FPM는 FFTW-3.3.7 대비 평균 1.9배, 최대 6.8배의 성능 향상을 기록했으며, 인텔 MKL FFT 대비 평균 1.3배, 최대 2배의 성능 향상을 기록했다.
- PFFT-FPM-PAD는 FFTW-3.3.7 대비 평균 2.0배, 최대 9.4배의 성능 향상을 기록했으며, 인텔 MKL FFT 대비 평균 1.4배, 최대 5.9배의 성능 향상을 기록했다.
- FFTW-3.3.7의 성능 변동 폭은 FFTW-2.1.5보다 훨씬 크며, 문제 크기와 워크로드 불균형에 더 민감한 것으로 나타났다.
- 비록 인텔 MKL FFT가 FFTW-2.1.5보다 높은 피크 성능(39,424 MFLOPs)을 기록했지만, 평균 성능(9,572 MFLOPs)은 PFFT-FPM-PAD 프레임워크에서 최적화된 FFTW-2.1.5에 의해 뛰어넘어졌다.
- 결과적으로 모델 기반 최적화가 비최적화 및 고도로 최적화된 벤더 라이브러리보다 높은 평균 성능을 낼 수 있음을 확인하였으며, 제안된 접근법의 이식 가능성과 효과성을 입증하였다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.