[논문 리뷰] Parallel Pairwise Correlation Computation On Intel Xeon Phi Clusters
이 논문은 Intel Xeon Phi 클러스터에서 병렬 및 분산된 전쌍 피어슨 상관계수(PCC) 계산 프레임워크인 LightPCC를 제안한다. 이는 SIMD, 스레드 수준, 가속기 수준의 병렬 처리를 활용한다. 16개의 Phis에서 순차적 ALGLIB 대비 최대 218.2배의 성능 향상과 단일 스레드 MKL 대비 71.4배의 성능 향상을 달성하였으며, 강한 확장성과 대칭적 쌍별 계산을 위한 고유한 이항 작업 분배 프레임워크를 제공한다.
Co-expression network is a critical technique for the identification of inter-gene interactions, which usually relies on all-pairs correlation (or similar measure) computation between gene expression profiles across multiple samples. Pearson's correlation coefficient (PCC) is one widely used technique for gene co-expression network construction. However, all-pairs PCC computation is computationally demanding for large numbers of gene expression profiles, thus motivating our acceleration of its execution using high-performance computing. In this paper, we present LightPCC, the first parallel and distributed all-pairs PCC computation on Intel Xeon Phi (Phi) clusters. It achieves high speed by exploring the SIMD-instruction-level and thread-level parallelism within Phis as well as accelerator-level parallelism among multiple Phis. To facilitate balanced workload distribution, we have proposed a general framework for symmetric all-pairs computation by building bijective functions between job identifier and coordinate space for the first time. We have evaluated LightPCC and compared it to two CPU-based counterparts: a sequential C++ implementation in ALGLIB and an implementation based on a parallel general matrix-matrix multiplication routine in Intel Math Kernel Library (MKL) (all use double precision), using a set of gene expression datasets. Performance evaluation revealed that with one 5110P Phi and 16 Phis, LightPCC runs up to $20.6 imes$ and $218.2 imes$ faster than ALGLIB, and up to $6.8 imes$ and $71.4 imes$ faster than single-threaded MKL, respectively. In addition, LightPCC demonstrated good parallel scalability in terms of number of Phis. Source code of LightPCC is publicly available at http://lightpcc.sourceforge.net.
연구 동기 및 목표
- 유전체 발현 데이터셋을 활용한 공발현 네트워크 구축에 사용되는 계산 비용이 큰 전쌍 PCC 계산을 가속화하기 위해.
- 전장 유전자 연관 분석 및 순열 테스트에서 순차적 및 CPU 기반 PCC 계산의 성능 저하 문제를 해결하기 위해.
- Intel Xeon Phi 클러스터의 전체 병렬 처리 능력—SIMD, 다중 스레딩, 인터-Phi 가속—을 활용하여 고성능 상관계수 분석을 수행하기 위해.
- 대칭적 전쌍 계산에서 처리 요소 간 균형 잡힌 작업 할당을 보장하는 일반적이고 이항적인 작업 분배 프레임워크를 설계하기 위해.
- 실제 및 합성 유전체 발현 데이터에서 최신 CPU 기반 구현체인 ALGLIB와 MKL 대비 LightPCC의 성능을 평가하기 위해.
제안 방법
- LightPCC는 각 Xeon Phi의 벡터 유닛 내에서 SIMD 명령 수준 병렬 처리를 최대한 활용하기 위해 C++ 템플릿 기반 구현을 사용한다.
- 각 Phi의 다수의 코어를 통해 스레드 수준 병렬 처리를 활용하여 독립적인 PCC 계산을 동시에 처리한다.
- 마스터-슬레이브 모델을 사용하여 클러스터 내 여러 Phis에 작업을 분배함으로써 가속기 수준 병렬 처리를 가능하게 한다.
- 대칭 PCC 행렬의 상부 삼각형 내 좌표 쌍에 고유하게 작업 ID를 할당하기 위해 고유한 이항 매핑 함수를 도입하여 부하 균형을 보장한다.
- 효율적인 벡터화와 GEMM 유사 최적화를 가능하게 하기 위해 표준 대수 항등식을 활용해 PCC 계산을 재구성한다.
- 작업 분배는 각 유일한 쌍 (i,j) (i < j)에 고유한 ID를 할당하는 대칭적 작업 행렬을 통해 관리되며, 이를 통해 좌표 재구성도 역으로 가능하다.

실험 결과
연구 질문
- RQ1대규모 유전체 발현 데이터에서 순차적 및 CPU 최적화 구현 대비 분산 및 병렬 PCC 계산 프레임워크가 상당한 성능 향상을 달성할 수 있는가?
- RQ2Intel Xeon Phi 클러스터에서 SIMD, 다중 스레딩, 인터-Phi 병렬 처리를 다수 수준 병렬 처리로 효과적으로 활용할 수 있는가?
- RQ3제안된 이항 작업 ID에서 좌표 매핑이 다수의 Phis 간 균형 잡힌 확장 가능한 작업 분배를 가능하게 하는가?
- RQ4다양한 수의 Phis와 데이터셋 크기에서 LightPCC가 ALGLIB와 MKL 대비 어떤 성능 향상을 보이는가?
- RQ5Phis 수가 증가함에 따라 LightPCC는 어떻게 확장되며, 실제 인간 게놈 데이터에서의 최대 성능 향상 비율은 얼마인가?
주요 결과
- 단일 5110P Phi에서 LightPCC는 ALGLIB 대비 13.7배 빠르고, 단일 스레드 MKL 대비 4.7배 빠르게 작동한다.
- 16개의 Phis에서 실제 인간 게놈 데이터셋에서 LightPCC는 ALGLIB 대비 최대 218.2배, 단일 스레드 MKL 대비 71.4배 더 빠르게 실행된다.
- LightPCC는 강한 병렬 확장성을 보이며, 실제 데이터에서 단일 Phi 대비 16개의 Phi에서 11.9배의 성능 향상을 달성한다.
- 16개의 Phis를 사용할 경우 16스레드 MKL 대비 최대 4.3배의 성능 향상을 기록하며, 4개 이상의 Phis에서만 이에 뒤지지 않는다.
- 이항 작업 분배 프레임워크는 균형 잡힌 작업 할당을 보장하여 클러스터 내 모든 Phis의 효율적 활용을 가능하게 한다.
- 인위적 및 실제 데이터셋에 대한 성능 평가 결과, 다양한 문제 크기와 하드웨어 구성에서 일관되고 확장 가능한 성능 향상이 확인되었다.

더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.