Skip to main content
QUICK REVIEW

[논문 리뷰] A Comparative Study of Asynchronous Many-Tasking Runtimes: Cilk, Charm++, ParalleX and AM++

Abhishek Kulkarni, Andrew Lumsdaine|arXiv (Cornell University)|2019. 04. 01.
Parallel Computing and Optimization Techniques참고 문헌 19인용 수 5
한 줄 요약

이 논문은 Cilk, Charm++, ParalleX, 및 AM++의 네 가지 异步 다수 작업 런타임에 대한 종합적인 비교 분석을 제시한다. 프로그래밍 모델, 실행 모델, 그리고 구현을 평가하며, 표현력, 확장성, 그리고 장애 복구 및 로드 밸런싱과 같은 현대 HPC 과제에 대한 지원에서의 핵심적 차이점을 규명한다. 이는 이방식의 다수 작업 처리가 엑사스케일 이식성과 성능을 위해 필수적임을 결론짓는다.

ABSTRACT

We evaluate and compare four contemporary and emerging runtimes for high-performance computing(HPC) applications: Cilk, Charm++, ParalleX and AM++. We compare along three bases: programming model, execution model and the implementation on an underlying machine model. The comparison study includes a survey of each runtime system's programming models, their corresponding execution models, their stated features, and performance and productivity goals. We first qualitatively compare these runtimes with programmability in mind. The differences in expressivity and programmability arising from their syntax and semantics are clearly enunciated through examples common to all runtimes. Then, the execution model of each runtime, which acts as a bridge between the programming model and the underlying machine model, is compared and contrasted to that of the others. We also evaluate four mature implementations of these runtimes, namely: Intel Cilk++, Charm++ 6.5.1, AM++ and HPX, that embody the principles dictated by these models. With the emergence of the next generation of supercomputers, it is imperative for parallel programming models to evolve and address the integral challenges introduced by the increasing scale. Rather than picking a winner out of these four models under consideration, we end with a discussion on lessons learned, and how such a study is instructive in the evolution of parallel programming frameworks to address the said challenges.

연구 동기 및 목표

  • 엑사스케일 HPC 맥락에서 네 가지 주요 이방식 다수 작업 런타임—Cilk, Charm++, ParalleX, 및 AM++—를 평가하고 비교하기.
  • 프로그래밍 용이성, 성능, 그리고 대규모 동적 워크로드에 대한 지원 측면에서 각 런타임의 강점과 한계를 규명하기.
  • 실행 모델이 증가하는 동시성과 이질성 하에서 프로그래밍 추상화를 기반 시스템 아키텍처로 연결하는 방식을 분석하기.
  • 실제 성능과 생산성 목표를 고려하여 성숙한 구현체(예: Intel Cilk++, Charm++ 6.5.1, AM++, HPX-3)를 평가하기.
  • 생산성, 성능, 그리고 스케일링 시 복원력의 균형을 이루는 미래의 병렬 프로그래밍 프레임워크 설계를 위한 교훈을 도출하기.

제안 방법

  • 공통된 코드 예제를 사용하여 문법, 의미론, 표현력의 차이점을 부각시키는 방식으로 프로그래밍 모델의 정성적 비교를 수행하였다.
  • 작업 표현, 스케줄링 전략(예: 워크스틸링, SDAG, 워크셰어링) 및 런타임 동작(예: 로드 밸런싱, 장애 복구)에 중점을 두어 실행 모델을 분석하였다.
  • 네 가지 성숙한 시스템—Intel Cilk++, Charm++ 6.5.1, AM++, HPX-3—의 구현 수준 기능을 평가하여 가속기 지원, I/O, 글로벌 주소공간 지원 여부를 점검하였다.
  • 세분화된 스레딩, 메시지 주도 계산, 계층적 실행, 토폴로지 인식 매핑 등의 기능을 평가하기 위해 구조화된 비교 매트릭스를 사용하였다.
  • 동적 동작, 예를 들어 적응형 병렬성, 자동 데이터 재배치, 정지 상태 탐지 등 시스템 간의 특성을 분석하였다.
  • 최종적으로 발견된 통찰을 바탕으로 차세대 런타임 설계 원칙을 도출하였으며, 이는 이방식, 지연 내성, 데이터 및 작업 병렬성에 대한 통합 추상화를 강조한다.

실험 결과

연구 질문

  • RQ1Cilk, Charm++, ParalleX, 및 AM++의 프로그래밍 모델은 병렬성 표현의 표현력과 사용 용이성 측면에서 어떻게 다를까?
  • RQ2작업 스케줄링, 동기화, 그리고 동적 로드 밸런싱 지원 측면에서 실행 모델의 핵심적 차이점은 무엇인가?
  • RQ3성숙한 구현체(Cilk++, Charm++ 6.5.1, AM++, HPX-3)가 장애 복구, 가속기 통합, 확장 가능한 I/O와 같은 현대 HPC 요구사항을 얼마나 잘 지원하는가?
  • RQ4이 런타임들은 메모리 국소성, 동시성의 세분성, 그리고 스케일링 시 복원성과 같은 과제를 어떻게 다루는가?
  • RQ5엑사스케일 시스템을 위한 미래의 병렬 프로그래밍 프레임워크의 진화를 이끌기 위해 도출할 수 있는 공통된 설계 패턴과 교훈은 무엇인가?

주요 결과

  • Cilk와 AM++는 각각 워크스틸링과 액티브 메시지 추상화를 통해 강력한 작업 수준 병렬성 지원을 제공하지만, Cilk의 모델은 동적 로드 밸런싱과 장애 복구에서 제한적이다.
  • Charm++와 ParalleX는 고급 기능인 SDAG, 정지 상태 탐지, 적응형 로드 밸런싱를 통해 분산형 메시지 주도 실행에 뛰어난 지원을 보인다.
  • AM++와 ParalleX는 계층적 실행과 글로벌 주소공간에 더 강력한 네이티브 지원을 보이며, 더 스케일러블하고 조합 가능한 프로그래밍 모델을 가능하게 한다.
  • 네 런타임 모두 이방식 실행을 지원하지만, 장애 복구를 위한 체크포인팅과 복원 가능한 작업 스케줄링을 제공하는 것은 Charm++와 ParalleX뿐이다.
  • HPX-3(AM++의 구현체)와 Charm++ 6.5.1은 Cilk와 ParalleX에 비해 가속기 통합과 세분화된 동시성 지원에서 더 우수한 성능을 보였다.
  • 본 연구는 이방식 다수 작업 처리 모델이 엑사스케일 시스템에 필수적임을 확인하였으며, 동적, 적응형, 지연 내성적인 실행 방식이 성능과 확장성에 핵심적임을 규명하였다.

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

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

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

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