Skip to main content
QUICK REVIEW

[논문 리뷰] Thread Parallelism for Highly Irregular Computation in Anisotropic Mesh Adaptation

Georgios Rokos, Gerard Gorman|arXiv (Cornell University)|2015. 05. 18.
Parallel Computing and Optimization Techniques참고 문헌 1인용 수 7
한 줄 요약

이 논문은 워크리스트 기반의 그래프 변형 연산을 사용하여 극도로 불규칙한 이방성 메시 어댑테이션을 위한 스레드 병렬 알고리즘을 제안한다. 공유 메모리 시스템에서 복잡한 데이터 의존성을 안전하고 확장 가능하게 관리하기 위해 라운드 기반의 독립 집합 처리, 연기된 업데이트, 원자적 워크리스트 생성, 워크 스틸링을 조합하여 인텔 Xeon 샌디 브리지에서 60%의 병렬 효율성과 AMD 옵테론 매그니-쿠르스에서 50%의 병렬 효율성을 달성한다.

ABSTRACT

Thread-level parallelism in irregular applications with mutable data dependencies presents challenges because the underlying data is extensively modified during execution of the algorithm and a high degree of parallelism must be realized while keeping the code race-free. In this article we describe a methodology for exploiting thread parallelism for a class of graph-mutating worklist algorithms, which guarantees safe parallel execution via processing in rounds of independent sets and using a deferred update strategy to commit changes in the underlying data structures. Scalability is assisted by atomic fetch-and-add operations to create worklists and work-stealing to balance the shared-memory workload. This work is motivated by mesh adaptation algorithms, for which we show a parallel efficiency of 60% and 50% on Intel(R) Xeon(R) Sandy Bridge and AMD Opteron(tm) Magny-Cours systems, respectively, using these techniques.

연구 동기 및 목표

  • 변경 가능한 데이터 의존성이 있는 극도로 불규칙한 메시 어댑테이션 알고리즘에서 확장 가능한 스레드 수준의 병렬성을 가능하게 하기 위해.
  • 동적 토폴로지 변화와 복잡한 데이터 접근 패턴을 수반하는 그래프 변형 워크리스트 알고리즘의 안전한 병렬화 과제를 해결하기 위해.
  • 유한요소 시뮬레이션을 위한 실세계 적용을 위해 현대의 공유 메모리 멀티코어 및 멀티코어 아키텍처(예: 인텔 Xeon, AMD 옵테론)에서 성능과 확장성을 향상시키기 위해.
  • 불규칙한 워크로드와 NUMA 영향에도 불구하고 실용적인 병렬 효율성을 지원하는 방법론을 개발하기 위해.
  • 실세계의 적응형 FEM/FVM 시뮬레이션에서의 응용을 위해 오픈소스 PRAgMaTIc 프레임워크에 이 방법론을 통합하기 위해.

제안 방법

  • 알고리즘은 그래프 색칠을 통해 데이터 레이스를 방지하는 독립 집합의 라운드 기반 처리 방식으로 메시 어댑테이션 작업을 처리한다.
  • 연기된 업데이트 전략은 각 라운드 이후에만 데이터 구조에 변경 사항을 커밋함으로써 동시 실행 중의 충돌을 방지한다.
  • 원자적 fetch-and-add 연산을 사용하여 병렬적으로 워크리스트를 안전하게 생성함으로써 경쟁을 최소화한다.
  • 워크 스틸링 로드 밸런싱을 통해 스레드 간 작업을 분배하고 로드 불균형을 완화한다.
  • OpenMP를 사용한 공유 메모리 병렬 프레임워크에 통합되어 현대의 멀티코어 및 멀티코어 시스템 최적화를 위해 설계되었다.
  • 동적 메시 토폴로지 변형(예: 엣지 스왑, 정밀화, 붕괴)을 유지하면서도 스레드 안전성과 확장성을 확보한다.

실험 결과

연구 질문

  • RQ1변경 가능한 데이터 의존성이 있는 불규칙한 메시 어댑테이션 알고리즘에 대해 스레드 수준의 병렬성이 효과적이고 안전하게 적용될 수 있는가?
  • RQ2복잡하고 동적인 데이터 접근 패턴과 토폴로지 변형이 존재하는 상황에서 높은 병렬 효율성을 달성할 수 있는가?
  • RQ3어떤 알고리즘 기법의 조합이 현대 멀티코어 공유 메모리 시스템에서 확장 가능한 성능을 가능하게 하는가?
  • RQ4워크 스틸링과 연기된 업데이트가 불규칙한 그래프 변형 워크리스트에서 로드 불균형과 데이터 레이스를 어느 정도 완화할 수 있는가?
  • RQ5실세계 벤치마크에서 여러 소켓과 NUMA 아키텍처를 통해 이 방법론은 어느 정도 확장되는가?

주요 결과

  • 제안된 방법론은 40개의 논리적 코어를 가진 双소켓 인텔 Xeon 샌디 브리지 시스템에서 60%의 병렬 효율성을 달성한다.
  • 4소켓 AMD 옵테론 매그니-쿠르스 시스템에서는 50%의 병렬 효율성을 달성하여 다양한 아키텍처에서의 강건성을 입증한다.
  • 스무딩 연산은 계산 강도가 높아 가장 잘 스케일링되며, 4소켓 구성에서도 50% 이상의 효율성을 달성한다.
  • 소켓 수가 증가함에 따라 NUMA 영향이 두드러지지만, 이 프레임워크는 이러한 과제에도 불구하고 양호한 성능을 유지한다.
  • 그래프 색칠, 연기된 업데이트, 원자적 연산, 워크 스틸링의 사용은 불규칙한 메시 어댑테이션 워크로드의 안전하고 확장 가능한 실행을 가능하게 한다.
  • 이 방법론은 오픈소스 PRAgMaTIc 프레임워크에 성공적으로 통합되었으며, 다중 스케일 특성과 색션 프론트를 가진 2D 및 3D 합성 벤치마크에서 검증되었다.

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

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

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

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