Skip to main content
QUICK REVIEW

[논문 리뷰] Coalesced communication: a design pattern for complex parallel scientific software

Hywel B. Carver, Derek Groen|arXiv (Cornell University)|2012. 10. 16.
Parallel Computing and Optimization Techniques참고 문헌 4인용 수 4
한 줄 요약

이 논문은 복잡한 병렬 과학 소프트웨어에서의 통신 오버헤드를 줄이기 위해 여러 구성 요소에서 온 통신 요청을 중앙 집중화하고 묶는 구조화된 접근 방식인 공유 통신 설계 패턴을 소개한다. StepManager와 CommunicationsManager를 통해 계산과 통신을 겹침으로써, 격자-볼츠만 혈류 시뮬레이션에서 총 통신 시간을 약 40% 감소시켜 1024개 코어에서 전체 성능을 7% 향상시켰다.

ABSTRACT

We present a new design pattern for high-performance parallel scientific software, named coalesced communication. This pattern allows for a structured way to improve the communication performance through coalescence of multiple communication needs using two communication management components. We apply the design pattern to several simulations of a lattice-Boltzmann blood flow solver with streaming visualisation which engenders a reduction in the communication overhead of approximately 40%.

연구 동기 및 목표

  • 고성능 병렬 과학 소프트웨어의 복잡성 증가와 통신 비효율성 문제를 해결하기 위해.
  • 다양한 과학적 구성 요소 간에 독립적인 통신 요청이 발생함으로써 유발되는 동기화 포인트 수를 줄이기 위해.
  • 다양한 功能 모듈 간의 계산과 통신을 겹침으로써 다물리스틱 시뮬레이션의 성능을 향상시키기 위해.
  • 다양한 통신 요구 사항을 가진 고성능 계산 애플리케이션에 재사용 가능한 구조화된 설계 패턴을 제공하기 위해.
  • 이 설계 패턴이 실제 세계의 생산 수준의 HPC 응용 프로그램에서 효과적으로 작동하는지 입증하기 위해.

제안 방법

  • 각 구성 요소(클라이언트)는 각 실행 단계의 시작 시 중앙 집중식 StepManager에 자신의 통신 요구 사항을 등록한다.
  • StepManager는 계산을 위한 콜백을 클라이언트에 조율하고, CommunicationsManager는 모든 비차단형 MPI 호출을 관리한다.
  • 여러 클라이언트에서 온 통신 요청이 각 단계당 하나의 동기화 포인트로 통합되어, 장벽 수가 감소한다.
  • 비차단형 MPI 연산을 사용하여 계산과 통신을 겹침으로써 자원 활용도를 향상시킨다.
  • 수신 데이터용 버퍼는 사전에 등록되어 있으며, MPI 대기 호출의 성공적 완료 후에만 접근된다.
  • 이 설계는 핵심 커널, 시각화, 모니터링 모듈를 지원하는 HemeLB 격자-볼츠만 시뮬레이션 프레임워크에 구현되었다.

실험 결과

연구 질문

  • RQ1중앙 집중식 통신 관리 패턴이 복잡한 병렬 과학 응용 프로그램에서 동기화 오버헤드를 줄일 수 있는가?
  • RQ2계산과 통신을 겹침으로써 다성분 HPC 시뮬레이션의 성능 향상은 어느 정도 달성될 수 있는가?
  • RQ3다양한 기능 구성 요소에서 온 다수의 통신 요청을 통합함으로써 총 통신 시간을 얼마나 줄일 수 있는가?
  • RQ4이 설계 패턴을 사용하여 실제 과학 시뮬레이션에서 어떤 성능 향상이 달성될 수 있는가?
  • RQ5예를 들어 시각화에서 이미지 렌더링 빈도가 높아질 경우와 같이 통신 부하가 증가함에 따라 이 패턴은 효과적으로 확장되는가?

주요 결과

  • HemeLB 시뮬레이션에서 1024개 코어에서 공유 통신 패턴이 총 통신 오버헤드를 약 40% 감소시켰다.
  • 10张 이미지를 렌더링할 때 공유 통신이 활성화된 경우 총 시뮬레이션 시간이 29.3초에서 27.6초로 7% 감소했다.
  • 200장의 이미지를 각 런에 렌더링할 경우, 1장당 0.0034초의 프레임 속도로 실시간 시각 검토에 충분한 성능 유지를 하였다.
  • 이상적인 성능 향상은 이미지 수가 증가함에 따라 절대적으로 증가했지만, 상대적 향상률은 약간 감소했다.
  • 200장의 이미지를 렌더링할 때 통신 시간은 비공유 상태에서 6.07초에서 공유 상태로 3.82초로 감소했다.
  • 이 패턴은 계산과 통신의 효과적인 겹침을 가능하게 하여 각 단계당 동기화 포인트를 하나로 줄였다.

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

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

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

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