Core Concepts
동기화 장벽을 최소화하거나 제거하는 비동기 다중 작업 런타임은 병렬 알고리즘의 성능 향상에 도움이 될 수 있지만, 다차원 FFT와 같은 응용 프로그램에서는 오히려 성능 저하를 초래할 수 있다.
Abstract
이 연구는 다차원 고속 푸리에 변환(FFT)을 사례 연구로 하여, 비동기 다중 작업 모델로 마이그레이션하는 것이 어떤 애플리케이션에 이점이 될 수 있는지 파악하고자 한다.
주요 내용은 다음과 같다:
HPX 런타임 모델을 사용하여 분산 및 공유 메모리 병렬화를 수행하는 첫 번째 분산 FFT 프로토타입 구현
다양한 구현 변형에 대한 확장성 평가를 통해 비동기 작업 모델로의 마이그레이션 시 발생할 수 있는 오버헤드와 문제점 파악
업계 표준인 FFTW 라이브러리와 그 내장 병렬화 백엔드와의 성능 비교
FFTW에 대한 HPX 백엔드 구현 및 성능 비교
연구 결과, 다차원 FFT 알고리즘은 비동기 작업 실행으로부터 이점을 얻지 못하며, 오히려 작업 동기화를 강제하는 것이 캐시 성능 향상으로 인해 더 나은 성능을 보였다. 그러나 FFTW에 대한 HPX 백엔드는 기존 백엔드와 경쟁력 있는 성능을 보였다. 또한 HPX 기반 분산 구현은 FFTW의 MPI+OpenMP와 유사한 성능을 보였지만, HPX의 LCI 파셀포트를 사용하면 통신 속도가 최대 5배 향상되었다.
Stats
다차원 FFT 알고리즘은 비동기 작업 실행으로부터 이점을 얻지 못하며, 오히려 작업 동기화를 강제하는 것이 캐시 성능 향상으로 인해 더 나은 성능을 보였다.
FFTW에 대한 HPX 백엔드는 기존 백엔드와 경쟁력 있는 성능을 보였다.
HPX 기반 분산 구현은 FFTW의 MPI+OpenMP와 유사한 성능을 보였지만, HPX의 LCI 파셀포트를 사용하면 통신 속도가 최대 5배 향상되었다.
Quotes
"동기화 장벽을 최소화하거나 제거하는 비동기 다중 작업 런타임은 병렬 알고리즘의 성능 향상에 도움이 될 수 있지만, 다차원 FFT와 같은 응용 프로그램에서는 오히려 성능 저하를 초래할 수 있다."
"작업 의존성을 정의할 때는 알고리즘뿐만 아니라 캐시 성능과 같은 다른 중요한 성능 지표도 고려해야 한다."
"HPX 기반 분산 구현은 FFTW의 MPI+OpenMP와 유사한 성능을 보였지만, HPX의 LCI 파셀포트를 사용하면 통신 속도가 최대 5배 향상되었다."