통신 최적화 스트라센 병렬 행렬 곱셈 알고리즘

통신 최적화 스트라센 병렬 행렬 곱셈 알고리즘

초록

본 논문은 스트라센 알고리즘을 기반으로 하여 통신 비용을 최소화한 새로운 병렬 행렬 곱셈 방법을 제시한다. 기존 연구가 제시한 하한을 정확히 달성함으로써 통신 최적성을 입증하고, 크라잉 XT4 클러스터에서 24%에서 184%까지의 실험적 가속을 기록하였다. 또한 제안 기법은 다른 고속 행렬 곱셈 알고리즘에도 확장 가능함을 보인다.

상세 분석

스트라센 알고리즘은 전통적인 O(n³) 행렬 곱셈보다 O(n^{log₂7})≈O(n^{2.81})의 연산 복잡도를 제공하지만, 그 재귀 구조 때문에 병렬 환경에서 통신 병목이 크게 발생한다. 기존 연구인 Ballard·Demmel·Holtz·Schwartz(SPAA’11)는 스트라센 연산 그래프의 확장성을 이용해 통신 하한을 증명했으며, 실제 구현에서는 이 하한에 근접하기 어려웠다. 본 논문은 이러한 격차를 메우기 위해 두 단계의 핵심 설계를 도입한다. 첫째, 재귀 단계마다 데이터 재배치를 최소화하도록 2‑D 블록 사이클링을 변형한 “통신‑친화적 재귀 분할”을 적용한다. 이 방식은 각 프로세서가 담당하는 서브‑매트릭스 집합을 고정하고, 필요한 중간 결과만을 교환하도록 설계돼 데이터 이동량을 이론적 하한인 Θ(n²/p^{2/3})에 가깝게 만든다. 둘째, 스트라센의 7개의 부분곱을 계산할 때 발생하는 선형 결합 단계에서 “합성‑압축” 기법을 도입해 여러 선형 조합을 하나의 통신 라운드로 결합한다. 이는 통신 라운드 수를 재귀 깊이와 동일하게 유지하면서도 각 라운드당 전송되는 데이터 양을 최소화한다.

알고리즘의 복잡도 분석에서는 연산량이 기존 스트라센과 동일하게 O(n^{log₂7}/p)이며, 통신 비용이 메모리 이동량과 네트워크 대역폭 제한을 동시에 고려한 모델에서 Θ(n²/p^{2/3}) + Θ(n^{log₂7}/p^{1/3}) 로 도출된다. 이는 Ballard·Demmel·Holtz·Schwartz가 제시한 하한과 일치하므로 통신 최적성을 공식적으로 증명한다. 또한 강한 스케일링 분석을 통해 프로세서 수 p가 n^{3−log₂7}까지 증가해도 효율이 100%에 가깝게 유지됨을 보인다.

실험에서는 Cray XT4(각 노드당 8코어) 환경에서 n=94 080인 대형 행렬을 대상으로 기존 2‑D Cannon, 3‑D SUMMA, 그리고 기존 스트라센 기반 구현과 비교했다. 노드 수를 49에서 7 203까지 늘릴 때 평균 1.24배에서 2.84배의 속도 향상을 기록했으며, 특히 중간 규모(≈1 000노드)에서 통신 비용 감소가 가장 크게 나타났다. 또한 메모리 사용량이 기존 스트라센 구현보다 약 15% 적어 대규모 문제에서도 메모리 제한에 덜 민감함을 확인했다.

마지막으로 저자들은 제안된 통신‑친화적 프레임워크가 다른 고속 행렬 곱셈(예: Coppersmith‑Winograd, 최근의 알고리즘)에도 적용 가능함을 논의한다. 재귀 분할과 합성‑압축 단계만 해당 알고리즘의 연산 그래프에 맞게 조정하면 동일한 통신 하한을 달성할 수 있다. 이는 고성능 컴퓨팅에서 차세대 행렬 연산 라이브러리 설계에 중요한 방향성을 제시한다.