Skip to main content
QUICK REVIEW

[논문 리뷰] Modeling and analyzing performance for highly optimized propagation steps of the lattice Boltzmann method on sparse lattices

Markus Wittmann, Thomas Zeiser|arXiv (Cornell University)|2014. 10. 01.
Lattice Boltzmann Simulation Studies참고 문헌 12인용 수 7
한 줄 요약

이 논문은 희박 격자에서 라티스 보울츠만 방법(LBM) 해법기의 이중 단계 최적화 전략을 제안한다. 이 전략은 루프 균형을 낮추기 위해 감소된 간접 인덱싱(RIA)을 결합하고, 통신 오버헤드를 최소화하면서도 단일 코어 성능을 유지하기 위해 하이브리드 순서화 방법(히르베르트 곡선 이후 어휘적 정렬)을 사용한다. 이 방법은 성능을 손상시키지 않은 채 더 낮은 클럭 주파수와 감소된 코어 수를 허용함으로써 최대 40%의 에너지 절감을 달성한다.

ABSTRACT

Computational fluid dynamics (CFD) requires a vast amount of compute cycles on contemporary large-scale parallel computers. Hence, performance optimization is a pivotal activity in this field of computational science. Not only does it reduce the time to solution, but it also allows to minimize the energy consumption. In this work we study performance optimizations for an MPI-parallel lattice Boltzmann-based flow solver that uses a sparse lattice representation with indirect addressing. First we describe how this indirect addressing can be minimized in order to increase the single-core and chip-level performance. Second, the communication overhead is reduced via appropriate partitioning, but maintaining the single core performance improvements. Both optimizations allow to run the solver at an operating point with minimal energy consumption.

연구 동기 및 목표

  • 희박 격자 표현을 사용한 LBM 해법기에서 메모리 대역폭 압박과 루프 균형을 줄이기 위해.
  • 특히 복잡한 기하학에서의 간접 인덱싱을 최소화함으로써 RIA를 통해 단일 코어 성능을 향상시키기 위해.
  • 단일 코어 효율성을 떨어뜨리지 않으면서 대규모 MPI 병렬 시뮬레이션에서 통신 오버헤드를 줄이기 위해.
  • 기하학에 의존하지 않는 자동화된, 이중 단계 순서화 방법을 도입함으로써 수동으로 파artition 파rameter를 조정할 필요를 제거하기 위해.
  • 성능을 유지하면서도 더 낮은 주파수와 감소된 코어 수에서 작동할 수 있도록 함으로써 최소 에너지 소비를 달성하기 위해.

제안 방법

  • 연속적인 유체 노드가 연속된 런을 이룰 경우 간접 메모리 액세스를 건너뛰기 위해 감소된 간접 인덱싱(RIA)을 적용하여 루프 균형을 낮춘다.
  • 연속된 노드 시퀀스를 식별하고 RIA를 최적화하기 위해 런 렝스 인코딩 원리를 적용하여 인접 리스트에서 활용한다.
  • 이중 단계 순서화 구현: 먼저 공간을 메우는 곡선(예: 히르베르트)을 사용하여 고밀도 파artition을 만들고, 이후 어휘적 정렬(B=1)로 재번호 할당하여 높은 단일 코어 성능을 확보한다.
  • RIA를 통해 AA 패턴 알고리즘에서 부분 벡터화를 가능하게 하여, 특히 홀수 시간 단계에서 지시어 수준의 병렬성을 향상시킨다.
  • Intel Haswell 및 SuperMUC-2 클러스터에서 다양한 프로세스 수와 클럭 주파수에서 성능 및 에너지 효율성을 평가한다.
  • RIA와 이중 순서화 방법을 통합하고 벤치마크하기 위해 기반 해법기 프레임워크로 ILBDC를 사용한다.

실험 결과

연구 질문

  • RQ1RIA는 희박 격자에서 LBM 전파 단계의 루프 균형을 줄이고 성능을 향상시킬 수 있는가?
  • RQ2RIA는 AA 패턴에서 부분 벡터화를 어떻게 가능하게 하는가? 이로 인한 성능 영향은 무엇인가?
  • RQ3히르베르트 곡선과 어휘적 정렬을 조합한 이중 단계 순서화 방법은 수동 조정 없이도 낮은 통신 부하와 높은 단일 코어 성능을 동시에 달성할 수 있는가?
  • RQ4최적화된 순서화와 RIA를 사용할 때 더 낮은 클럭 주파수(예: 1.2 GHz)에서 운영함으로써 얻는 에너지 효율성 향상은 어느 정도인가?
  • RQ5성능 손실 없이 노드당 활성 코어 수를 어느 정도 줄일 수 있으며, 이는 에너지 소비에 어떤 영향을 미치는가?

주요 결과

  • RIA는 루프 균형을 감소시키고, 비템포럴 스토어를 사용하는 두 격자 한 스텝 알고리즘에서 15%의 성능 향상을 제공했다.
  • RIA를 적용한 AA 패턴은 홀수 시간 단계에서 부분 벡터화를 가능하게 하여, 특히 구조적 기하학에서 1.2 GHz에서 최대 30%의 성능 향상을 이룩했다.
  • 히르베르트 이후 어휘적 정렬을 적용한 이중 단계 순서화 방법은 B=100으로 수동 조정된 어휘적 정렬과 유사한 성능을 달성하여 기하학에 따라 파rameter 조정이 불필요해졌다.
  • 히르베르트 재번호 할당과 함께 1.2 GHz에서 작동함으로써 최대 40%의 에너지 절감을 달성했으며, 성능 저하 없이 구현되었다.
  • 노드당 프로세스 수를 28에서 16으로 줄여도 성능에 영향이 없었으며, 이는 성능을 포화시키는 데 3~4개의 코어만으로도 충분함을 확인했고, 이는 추가적인 에너지 절감 가능성을 시사한다.
  • 이 방법은 다양한 클럭 주파수에서 성능이 우수하며 스케일링이 효율적이다. 더 단순하고 규칙적인 기하학일수록 더 높은 벡터화 수익으로 인해 에너지 절감이 증가한다.

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

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

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

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