Skip to main content
QUICK REVIEW

[논문 리뷰] Task parallel implementation of a solver for electromagnetic scattering problems

Afshin Zafari, Elisabeth Larsson|arXiv (Cornell University)|2018. 01. 10.
Electromagnetic Scattering and Analysis참고 문헌 23인용 수 3
한 줄 요약

이 논문은 작업 기반 프로그래밍 모델을 사용하여 전자기 산란 문제를 위한 중첩 등가 소스 근사(NESA) 해법기의 작업 병렬 구현을 제시한다. 비동기 작업 실행과 동적 로드 밸런싱을 활용하여, 작업 크기가 충분히 클 경우 공유 메모리 시스템에서 거의 최적의 성능을 달성하며, 수백만 개의 미지수를 포함하는 3차원 문제에 대해 뛰어난 확장성을 보여준다.

ABSTRACT

Electromagnetic computations, where the wavelength is small in relation to the geometry of interest, become computationally demanding. In order to manage computations for realistic problems like electromagnetic scattering from aircraft, the use of parallel computing is essential. In this paper, we describe how a solver based on a hierarchical nested equivalent source approximation can be implemented in parallel using a task based programming model. We show that the effort for moving from the serial implementation to a parallel implementation is modest due to the task based programming paradigm, and that the performance achieved on a multicore system is excellent provided that the task size, depending on the method parameters, is large enough.

연구 동기 및 목표

  • 수백만에서 수십억 개의 미지수를 포함하는 대규모 전자기 산란 문제를 해결하는 데 발생하는 계산적 과제를 해결한다.
  • 일반적인 순차적 및 전통적인 MPI 기반 병렬 구현의 한계를 극복하기 위해 공유 메모리 다중코어 아키텍처를 활용한다.
  • 계층적 행렬 구조와 낮은 질량 근사에 의존하는 NESA 알고리즘의 효율적 병렬화를 가능하게 한다.
  • 작업 크기와 스레드 수를 변화시켜가며 SuperGlue를 사용한 작업 기반 병렬화의 성능을 평가하고 OpenMP와 비교한다.
  • 작업 기반 모델이 NESA와 같은 계층적 해법기에서 내재된 복잡한 종속성과 불균형한 로드를 효과적으로 관리할 수 있는지 보여준다.

제안 방법

  • SuperGlue 런타임 시스템을 사용하여 NESA 알고리즘의 병렬성을 표현하는 작업 기반 프로그래밍 모델을 채택한다.
  • 근접 필드 및 원거리 필드 행렬-벡터 곱(MVP)을 위한 독립적인 작업으로 계산을 구조화하여 비동기 실행을 가능하게 한다.
  • 의존성 추적 기능을 갖춘 보호된 공유 데이터 유형(SGMatrix 등)을 사용하여 작업 간에 매트릭스를 안전하게 공유한다.
  • BLAS-3 호출(cblas_dgemv)을 통해 MVP 작업을 구현하며, 읽기/쓰기 액세스 추적 기능을 통해 작업 재정렬 및 로드 밸런싱을 지원한다.
  • 기하 구조를 계층적 트리 분해하여 상호작용을 근접 필드(밀도 있는) 및 원거리 필드(낮은 질량) 구성요소로 분할한다.
  • 특히 균형 잡히지 않은 트리 구조에서 계산 비용에 기반해 동적으로 작업을 스케줄링하여 로드 밸런싱을 보장한다.

실험 결과

연구 질문

  • RQ1작업 기반 병렬 모델은 대규모 3차원 전자기 산란 문제에 대해 공유 메모리 시스템에서 NESA 해법기를 효과적으로 확장시킬 수 있는가?
  • RQ2작업 기반 병렬 NESA 구현에서 작업 크기가 성능 및 확장성에 어떤 영향을 미치는가?
  • RQ3계층적 해법기에서 작업 병렬 MVP 계산에 대해 SuperGlue와 OpenMP 사이의 성능 상충 관계는 어떠한가?
  • RQ4비정규적인 워크로드 상황에서 비동기 작업 실행 방식이 로드 밸런싱과 자원 활용도 향상에 얼마나 기여하는가?
  • RQ5심지어 원래 순차 코드에서의 상당한 코드 재작성 없이도 작업 기반 접근이 거의 최적의 속도 향상을 달성할 수 있는가?

주요 결과

  • 작업 기반 접근 방식은 원래 순차 코드에 대한 최소한의 변경으로도 매우 효율적인 병렬 구현을 가능하게 하여, 이 모델의 실용성을 입증했다.
  • 작업 크기가 충분히 클 경우 성능이 뛰어나며, 수백만 개의 미지수를 포함하는 3차원 문제에서 다중코어 시스템에서 거의 최적의 속도 향상을 달성했다.
  • 2차원 문제에서 일반적인 작은 작업 크기의 경우, 작업 오버헤드로 인해 스케일링이 몇 개의 스레드로 제한되지만, 더 큰 작업 크기를 가진 3차원 문제에서는 이 제한이 사라진다.
  • 작은 작업 크기와 높은 스레드 수 상황에서 SuperGlue는 OpenMP를 능가하며, 특히 세밀한 작업 종속성과 동적 스케줄링에 대한 더 나은 지원 덕분이다.
  • 큰 작업 크기에서는 SuperGlue와 OpenMP의 성능이 수렴하며, 이는 OpenMP가 철저한 튜닝을 통해 유사한 성능을 달성할 수 있음을 시사한다.
  • 비동기 작업 실행과 출력 벡터에 대한 교환 가능 액세스 의미 체계가 로드 밸런싱을 크게 향상시키고, 근접 필드 및 원거리 필드 계산을 효율적으로 혼합할 수 있도록 했다.

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

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

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

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