Skip to main content
QUICK REVIEW

[논문 리뷰] Task Bench: A Parameterized Benchmark for Evaluating Parallel Runtime Performance

Elliott Slaughter, Wei Wu|arXiv (Cornell University)|2019. 08. 15.
Parallel Computing and Optimization Techniques참고 문헌 35인용 수 4
한 줄 요약

Task Bench는 벤치마크 사양을 시스템 구현에서 분리하여, 다양한 워크로드에서 15개의 병렬 및 분산 프로그래밍 시스템 간의 효율적 비교를 가능하게 하는 파rameterized 벤치마크 프레임워크이다. 이 프레임워크는 최소 효과적 작업 크기(METG) 메트릭을 도입하여 현재 기술로는 스케일링 시 효율적인 작업 실행을 위한 실용적 하한선으로 100µs가 존재하며, 시스템 오버헤드에 대한 5개 이상의 주요 차이를 드러낸다.

ABSTRACT

We present Task Bench, a parameterized benchmark designed to explore the performance of parallel and distributed programming systems under a variety of application scenarios. Task Bench lowers the barrier to benchmarking multiple programming systems by making the implementation for a given system orthogonal to the benchmarks themselves: every benchmark constructed with Task Bench runs on every Task Bench implementation. Furthermore, Task Bench's parameterization enables a wide variety of benchmark scenarios that distill the key characteristics of larger applications. We conduct a comprehensive study with implementations of Task Bench in 15 programming systems on up to 256 Haswell nodes of the Cori supercomputer. We introduce a novel metric, minimum effective task granularity to study the baseline runtime overhead of each system. We show that when running at scale, 100 μs is the smallest granularity that even the most efficient systems can reliably support with current technologies. We also study each system's scalability, ability to hide communication and mitigate load imbalance.

연구 동기 및 목표

  • 병렬 및 분산 프로그래밍 시스템 간의 종합적이고 공정하며 확장 가능한 성능 비교의 부족을 해결하기 위해.
  • 시스템 구현에 특화된 로직을 분리함으로써, 여러 시스템의 벤치마킹에 필요한 엔지니어링 오버헤드를 줄이기 위해.
  • 런타임 시스템 오버헤드가 응용 프로그램 성능에 미치는 영향을 정량화하기 위해, 특히 미세한 작업 수준에서의 영향을 분석하기 위해.
  • 작업 런타임 시스템의 진정된 비용을 분리하고 측정할 수 있는 새로운 메트릭인 최소 효과적 작업 크기(METG)를 도입하기 위해.
  • 다양한 시스템 간의 확장성, 통신 숨기기, 로드 불균형 완화 전략에 대한 체계적인 연구를 가능하게 하기 위해.

제안 방법

  • Task Bench는 구성 가능한 계산, 통신, 의존성 요소를 가진 방향성 작업 그래프로 응용 프로그램을 모델링하여 다양한 워크로드 패턴을 지원한다.
  • 핵심 API를 통해 시스템 전용 로직을 추상화함으로써, 인터페이스를 구현한 모든 시스템이 최소한의 포팅 노력으로 모든 벤치마크를 실행할 수 있도록 한다.
  • 이 프레임워크는 이질적인 작업 그래프, 동시 실행, 가변적인 페이로드 크기를 지원하여 실제 응용 프로그램의 특성을 모델링할 수 있다.
  • 새로운 메트릭인 METG(50%)는 최소한 50%의 최고 성능을 달성하는 최소 작업 크기를 정의하여, 시스템 오버헤드 간의 공정한 비교를 가능하게 한다.
  • 벤치마크는 MPI, Spark, Dask, 그리고 작업 기반 런타임을 포함한 15개의 다양한 시스템을 대상으로 256노드 규모의 Cori 슈퍼컴퓨터에서 평가되었다.
  • 시스템의 구현은 표준화된 인터페이스를 사용하여, 상호 독립적이고 조합 가능하며 재현 가능한 평가를 보장한다.

실험 결과

연구 질문

  • RQ1병렬 프로그래밍 시스템이 최소한 최고 성능의 50%를 달성할 수 있는 최소 작업 크기는 얼마이며, 이는 시스템 간에 어떻게 다를까?
  • RQ2다양한 워크로드 조건, 즉 통신 집약적, 계산 집약적, 로드 불균형 상황에서 다양한 프로그래밍 모델과 런타임의 성능은 어떻게 다를까?
  • RQ3시스템 수준의 오버헤드가 응용 프로그램 성능에 얼마나 큰 영향을 미치며, 이를 어떻게 분리하고 측정할 수 있을까?
  • RQ4비동기 실행 기능과 정적 대비 동적 작업 스케줄링 기법이 확장성과 효율성에 어떤 영향을 미치는가?
  • RQ5대규모 노드 수(예: 256노드)로 확장할 경우, 시스템 선택이 성능에 어떤 영향을 미치는가?

주요 결과

  • 현재 분산 프로그래밍 시스템의 최소 효과적 작업 크기(METG)는 5개 이상의 주요 차이를 보이며, 런타임 오버헤드의 극명한 격차를 드러낸다.
  • 스케일링 시(256노드), 효율적인 작업 실행을 위한 실용적 하한선은 100µs이며, 이 이하에서는 어떤 시스템도 효율적인 성능을 달성하지 못한다.
  • 비동기 실행을 지원하는 시스템은 로드 불균형 및 균형 잡힌 워크로드 조건에서 성능 이점을 보이지만, 높은 기본 오버헤드로 인해 이러한 이점이 상쇄될 수 있다.
  • 동적 병렬성 탐색에 의존하는 작업 기반 시스템은 동적 프루닝 기법을 사용하더라도 스케일링을 제한하는 순차적 버팀목을 겪는다.
  • 정적 컴파일 타임 작업 분석은 순차적 버팀목을 완전히 제거할 수 있으며, 이는 동적 접근 방식보다 더 나은 확장성을 가능하게 한다.
  • 대규모 데이터 분석 시스템인 Spark는 작은 노드 수를 초월해도 스케일링하기 위해 수십 초 분량의 작업이 필요하며, 이는 이러한 워크로드에서 굵은 작업 크기의 표준임을 시사한다.

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

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

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

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