Skip to main content
QUICK REVIEW

[논문 리뷰] Improving strong scaling of the Conjugate Gradient method for solving large linear systems using global reduction pipelining

Siegfried Cools, J. Cornelis|arXiv (Cornell University)|2019. 05. 15.
Matrix Theory and Algorithms인용 수 5
한 줄 요약

이 논문은 분산 메모리 HPC 시스템에서 강한 스케일링을 향상시키기 위해 전산 및 통신과 전역 감소를 겹치는 방식으로 전행되는 깊은 파ip라이닝된 공액 그래디언트(p(l)-CG) 방법을 제안한다. 반복 단계 간에 비동기식 MPI_Iallreduce 호출을 단계적으로 배치함으로써 p(l)-CG는 고전적 CG 대비 이론적으로 O(l)의 속도 향상을 달성한다. PETSc를 사용하여 1024개 노드, 노드당 16개 랭크로 구성된 환경에서 검증되었으며, 통신에 의해 제한되는 환경에서 뚜렷한 성능 향상이 나타났다.

ABSTRACT

This paper presents performance results comparing MPI-based implementations of the popular Conjugate Gradient (CG) method and several of its communication hiding (or 'pipelined') variants. Pipelined CG methods are designed to efficiently solve SPD linear systems on massively parallel distributed memory hardware, and typically display significantly improved strong scaling compared to classic CG. This increase in parallel performance is achieved by overlapping the global reduction phase (MPI_Iallreduce) required to compute the inner products in each iteration by (chiefly local) computational work such as the matrix-vector product as well as other global communication. This work includes a brief introduction to the deep pipelined CG method for readers that may be unfamiliar with the specifics of the method. A brief overview of implementation details provides the practical tools required for implementation of the algorithm. Subsequently, easily reproducible strong scaling results on the US Department of Energy (DoE) NERSC machine 'Cori' (Phase I - Haswell nodes) on up to 1024 nodes with 16 MPI ranks per node are presented using an implementation of p(l)-CG that is available in the open source PETSc library. Observations on the staggering and overlap of the asynchronous, non-blocking global communication phases with communication and computational kernels are drawn from the experiments.

연구 동기 및 목표

  • 분산 메모리 시스템에서 내적 곱셈 및 노름 계산의 전역 동기화로 인해 발생하는 고전적 공액 그래디언트(CG) 방법의 강한 스케일링 병목 현상을 해결한다.
  • 규모가 증가할수록 성능 저하가 발생하는 고전적 CG의 전역 통신 오버헤드 영향을 최소화하기 위해 알고리즘 재설계를 통해 성능을 향상시킨다.
  • 파이프라인 CG 변종(p(l)-CG)이 전역 감소를 계산 및 통신과 겹침으로써 우수한 강한 스케일링 성능을 달성할 수 있음을 보여준다.
  • NERSC Cori 시스템을 사용하여 실제 HPC 워크로드에서 파이프라인 CG의 효과를 검증한다. 최대 1024개의 노드를 활용한다.
  • MPI3의 비차단, 비동기식 통신이 확장 가능하고 통신 숨기기 기능을 갖춘 케리로프 해법 구현에 실용적인 이점을 제공함을 강조한다.

제안 방법

  • MPI 비차단 집합 연산(MPI_Iallreduce)을 사용하여 전역 감소를 조기에 시작하고, 이후 계산 및 통신 단계와 겹치도록 p(l)-CG를 구현한다.
  • 알고리즘을 구성하여 한 반복에서 수행된 전역 감소 연산을 다음 반복의 행렬-벡터 곱(spmv) 및 벡터 갱신(axpy)과 겹치도록 한다.
  • 파이프라인 길이 l을 사용하여 총 l+1개의 반복이 동시에 진행되도록 하여 계산 및 통신을 여러 반복에 걸쳐 단계적으로 배치한다.
  • 깊이 있는 파이프라인 기법을 활용하여 전역 감소의 지연을 숨기기 위해 지역 계산 및 다른 전역 통신과 겹친다.
  • 재현 가능성과 실용적 관련성을 확보하기 위해 오픈소스 PETSc 라이브러리를 사용하여 p(l)-CG를 구현하고 벤치마크를 수행한다.
  • NERSC Cori(Haswell) 시스템에서 강한 스케일링 실험을 수행하여 성능을 분석한다. 최대 1024개의 노드와 노드당 16개의 MPI 랭크를 사용한다.

실험 결과

연구 질문

  • RQ1대규모 분산 메모리 시스템에서 파이프라인 CG 방법이 고전적 CG 대비 강한 스케일링을 얼마나 향상시킬 수 있는가?
  • RQ2전역 감소를 계산 및 통신과 겹치는 방식이 동기화 병목 현상을 얼마나 효과적으로 줄이는가?
  • RQ3통신에 의해 제한되는 워크로드에서 파이프라인 길이 l을 늘릴수록 달성 가능한 성능 향상은 어느 정도인가?
  • RQ4어떤 환경에서 '통신 단계의 단계적 배치' 효과가 고전적 CG 및 짧은 파이프라인보다 뚜렷한 성능 향상을 이끌 수 있는가?
  • RQ5비차단 MPI 호출(MPI_Iallreduce)이 파이프라인 CG의 확장성 및 효율성에 기여하는 방식은 무엇인가?

주요 결과

  • 1024개 노드까지 지원하는 NERSC Cori 시스템에서 p(l)-CG는 l ≥ 2일 경우 고전적 CG보다 뚜렷한 강한 스케일링 성능 향상을 보이며, 통신 숨기기 기법의 효과를 입증한다.
  • 전역 감소가 계산 및 통신과 최적으로 겹쳐질 경우, 고전적 CG 대비 이론적으로 O(l)의 속도 향상이 달성 가능하다.
  • 400만 미지수를 가진 대각선 시스템과 같은 통신에 의해 제한되는 문제에서는, p(2)-CG가 p(1)-CG보다 뚜렷한 성능 향상을 보이며 전역 통신 단계의 겹침 덕분이다.
  • 통신에 의해 제한되는 상황이 아닌 경우, 예를 들어 2D 라플라스 방정식 문제에서는 glred와 spmv 실행 시간이 유사하므로 더 긴 파이프라인(l ≥ 3)의 성능 향상 효과가 감소한다.
  • 반복 간 전역 통신 단계를 단계적으로 배치함으로써 glred의 런타임 변동성에 대한 저항력이 향상되고 전체 로드 밸런싱이 개선된다.
  • 비차단 전역 감소를 위해 MPI_Iallreduce를 사용하는 것이 효과적인 겹침을 가능하게 하며, 이 겹침이 실제로 구현될 경우 뚜렷한 성능 향상이 관찰된다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.