Trivance 다중포트 링으로 지연 최적 AllReduce 구현
초록
Trivance는 양방향 링(또는 다차원 토러스)에서 두 개의 전송 포트를 동시에 활용해 통신 거리를 3배로 늘리고, 수신된 두 메시지를 한 번에 결합함으로써 AllReduce를 ⌈log₃ n⌉ 단계만에 완료한다. 기존 Bruck 알고리즘 대비 혼잡을 3배 감소시키면서도 대역폭 효율성을 유지한다. 실험 결과 5 ~ 30 %의 지연 감소를 보이며, 2D·3D 토러스 환경에서도 최고 성능을 기록한다.
상세 분석
본 논문은 대규모 딥러닝·HPC 워크로드에서 핵심 병목인 AllReduce 연산의 지연을 최소화하기 위해, 양방향 링 토폴로지의 두 포트를 동시에 이용하는 새로운 알고리즘 Trivance를 제안한다. 기존 이론적 하한에 따르면, 양방향 링에서는 ⌈log₃ n⌉ 단계가 최소 통신 단계 수이다. 그러나 Bruck 알고리즘은 이 단계 수를 달성하면서도 모든 트래픽을 단일 방향으로 전송해 링크 혼잡을 크게 야기한다. Swing은 혼잡을 줄이지만 단계 수를 ⌈log₂ n⌉ 로 늘려 지연 최적성을 포기한다. Trivance는 두 포트를 모두 활용해 각 단계마다 양쪽 방향으로 3ᵏ 거리( k는 단계 번호)만큼 데이터를 전송하고, 양쪽에서 들어오는 두 블록을 동시에 결합(joint reduction)한다. 이 “joint reduction”은 한 단계에서 처리해야 할 블록 수를 2·3ᵏ 로 증가시켜, 전체 단계 수를 그대로 유지하면서도 전송 거리와 혼잡을 크게 감소시킨다. 수학적 분석에서는 단계당 전송량 mₖ와 혼잡도 cₖ를 고려한 비용 함수 C(m,A)=∑ₖ(α+β·mₖ·cₖ)를 사용해, Trivance가 Bruck 대비 혼잡 계수 cₖ를 1/3 수준으로 낮추고, 전송 지연 β·m·Θ에서도 Θ≈1에 가깝게 유지함을 증명한다. 또한 다차원 토러스(D‑dimensional torus)로 확장할 경우, 각 차원마다 독립적인 2·D 포트를 활용해 동일한 ⌈log₃ n⌉ 단계와 비슷한 대역폭 효율성을 유지한다. 실험에서는 SST 시뮬레이터를 이용해 2D·3D 토러스, 다양한 α·β 비율, 메시지 크기 32 B~128 MiB에 대해 기존 Recursiv Doubling, Swing, Bruck, Bucket 등을 비교하였다. 결과는 특히 8 MiB 이하의 짧은 메시지와 2D 토러스에서 5 ~ 30 %의 지연 감소, 3D 토러스에서는 128 MiB까지도 일관된 우위를 보여준다. 따라서 Trivance는 지연 최적성을 유지하면서도 네트워크 혼잡을 최소화하는 실용적인 AllReduce 솔루션으로 평가된다.
댓글 및 학술 토론
Loading comments...
의견 남기기