Skip to main content
QUICK REVIEW

[논문 리뷰] Balsam: Automated Scheduling and Execution of Dynamic, Data-Intensive HPC Workflows

Michael Salim, Thomas Uram|arXiv (Cornell University)|2019. 09. 18.
Scientific Computing and Data Management참고 문헌 10인용 수 22
한 줄 요약

Balsam는 파ilot 런처를 통해 이질적인 작업을 적응형 앙상블 작업으로 패ckaging하여 동적이고 데이터 집약적인 HPC 워크로드의 스케줄링과 실행을 자동화하는 워크플로우 관리 시스템입니다. 코드 수정 없이도 장애 내성적이고 로드 밸런싱된 순차 및 병렬 프로그램 실행을 가능하게 하여 대규모 캠프에 높은 자원 활용도를 달성하고 스크립팅 오버헤드를 줄이며, 초모수 최적화 및 양자 화학 워크플로우에서 이를 입증하였습니다.

ABSTRACT

We introduce the Balsam service to manage high-throughput task scheduling and execution on supercomputing systems. Balsam allows users to populate a task database with a variety of tasks ranging from simple independent tasks to dynamic multi-task workflows. With abstractions for the local resource scheduler and MPI environment, Balsam dynamically packages tasks into ensemble jobs and manages their scheduling lifecycle. The ensembles execute in a pilot "launcher" which (i) ensures concurrent, load-balanced execution of arbitrary serial and parallel programs with heterogeneous processor requirements, (ii) requires no modification of user applications, (iii) is tolerant of task-level faults and provides several options for error recovery, (iv) stores provenance data (e.g task history, error logs) in the database, (v) supports dynamic workflows, in which tasks are created or killed at runtime. Here, we present the design and Python implementation of the Balsam service and launcher. The efficacy of this system is illustrated using two case studies: hyperparameter optimization of deep neural networks, and high-throughput single-point quantum chemistry calculations. We find that the unique combination of flexible job-packing and automated scheduling with dynamic (pilot-managed) execution facilitates excellent resource utilization. The scripting overheads typically needed to manage resources and launch workflows on supercomputers are substantially reduced, accelerating workflow development and execution.

연구 동기 및 목표

  • 리더십 수준의 시스템에서 동적이고 데이터 집약적인 HPC 워크로드를 위한 민첩하고 사용자 友好的한 작업 스케줄링 및 실행 도구의 부족을 해결한다.
  • 초기 슈퍼컴퓨터에서 대규모 작업 캠프를 관리하기 위해 기존에 요구되던 스크립팅 및 구성 오버헤드를 줄인다.
  • 런타임 중에 작업을 생성하거나 종료할 수 있는 동적 워크플로우를 지원하여 복잡하고 변화하는 계산 캠프를 가능하게 한다.
  • 로컬 스케줄러 정책과 일치하는 동적 크기의 앙상블 작업에 작업을 동적으로 패킹하여 자원 활용도를 향상시킨다.
  • 응용 프로그램 코드 변경 없이도 대규모 다중 사용자 HPC 캠프에 대한 장애 내성성과 기록 추적 기능을 제공한다.

제안 방법

  • 워크플로우 상태 및 기록 추적을 위해 Python과 Django ORM을 사용하는 중앙 집중식 작업 데이터베이스를 관리하는 서비스-데이터베이스-런처 아키텍처를 사용한다.
  • 유사한 자원 요구 사항을 가진 작업들을 자동으로 동적으로 크기가 조절되는 앙상블 작업으로 그룹화하여 스케줄러 정책과 일치시키고 처리량을 향상시킨다.
  • 이종적인 순차 및 MPI 병렬 작업의 동시 실행을 관리하는 파ilot 런처 애플리케이션을 활용한다.
  • 사용자 응용 프로그램을 수정하지 않고도 작업 수준의 장애를 격리하고 구성 가능한 복구 메커니즘을 제공함으로써 장애 내성성을 확보한다.
  • SLURM, LSF 등 로컬 스케줄러와의 통합을 위해 추상화를 사용하여 원활한 작업 제출 및 라이프사이클 관리를 가능하게 한다.
  • 명령줄 및 Python API를 통해 워크플로우 생성, 모니터링, 런타임 동적 수정(실시간 작업 생성 및 종료 포함)을 지원한다.

실험 결과

연구 질문

  • RQ1어떻게 하면 최소한의 사용자 설정과 최대의 자원 활용도로 동적이고 데이터 집약적인 HPC 워크로드를 스케줄링하고 실행할 수 있는가?
  • RQ2제한적인 스케줄러 정책이 있는 리더십 수준의 HPC 환경에서 앙상블 작업에 자동으로 작업을 패킹함으로써 처리량을 얼마나 향상시킬 수 있는가?
  • RQ3파ilot 기반의 런처 아키텍처가 응용 프로그램 수정 없이도 이종적이고 혼합 병렬 처리 작업을 효율적이고 장애 내성적으로 실행할 수 있는가?
  • RQ4Balsam은 대규모 고처리량 계산 캠프의 개발 및 운영 오버헤드를 얼마나 효과적으로 줄일 수 있는가?
  • RQ5수동 최적화된 배치 스크립트에 비해 Balsam의 자동화 계층은 얼마나 많은 성능 오버헤드를 유발하는가?

주요 결과

  • Balsam은 스크립팅 오버헤드를 크게 줄여, 1600점의 양자 화학 포텐셜 에너지 표면 계산을 60줄 이내의 파이썬 코드로 완전히 구현할 수 있게 하였다.
  • 128개 노드에 걸쳐 1600개의 이중 노드 MPI 작업을 로드 밸런싱하여 자원 활용도를 높였으며, 효과적인 앙상블 패킹과 스케줄링을 입증하였다.
  • Theta에서 일반적인 수작업으로 작성된 앙상블 작업 스크립트보다 Balsam이 뛰어난 성능을 보였으며, 매초 하나의 aprun만 실행할 수 있었던 상황에서 낮은 런타임 오버헤드를 입증하였다.
  • 런타임 중에 작업을 생성하거나 종료할 수 있는 동적 워크플로우를 지원하여 변화하는 워크로드에 대응하는 적응형 실행을 가능하게 하였다.
  • 작업 이력 및 오류 로그를 포함한 기록 데이터는 데이터베이스에 자동으로 저장되어 전체 캠프의 재현 가능성과 디버깅을 보장한다.
  • NWChem과 같은 기존 바이너리 파일이 코드 변경 없이 워크플로우에 통합되었으며, 이는 시스템의 투명성과 응용 프로그램 수준의 투명성을 확인한다.

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

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

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

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