Skip to main content
QUICK REVIEW

[논문 리뷰] GLB: Lifeline-based Global Load Balancing library in X10

Wei Zhang, Olivier Tardieu|arXiv (Cornell University)|2013. 12. 19.
Distributed and Parallel Computing Systems참고 문헌 6인용 수 6
한 줄 요약

GLB는 X10에서 사용되는 글로벌 로드 밸런싱 라이브러리로, 라이프라인 기반 워크스틸링 알고리즘을 활용하여 분산 메모리 시스템에서 비정규 병렬 워크로드를 효율적이고 확장 가능한 방식으로 실행할 수 있도록 한다. 이는 저수준 동기화를 추상화하고 사용자가 최소한의 코드 변경으로 순차적 작업 로직만 작성할 수 있도록 함으로써, 다양한 아키텍처(파wr, 블루지엔 Q, K)에서 최대 16,000코어까지 거의 선형적 스피드업을 달성한다.

ABSTRACT

We present GLB, a programming model and an associated implementation that can handle a wide range of irregular paral- lel programming problems running over large-scale distributed systems. GLB is applicable both to problems that are easily load-balanced via static scheduling and to problems that are hard to statically load balance. GLB hides the intricate syn- chronizations (e.g., inter-node communication, initialization and startup, load balancing, termination and result collection) from the users. GLB internally uses a version of the lifeline graph based work-stealing algorithm proposed by Saraswat et al. Users of GLB are simply required to write several pieces of sequential code that comply with the GLB interface. GLB then schedules and orchestrates the parallel execution of the code correctly and efficiently at scale. We have applied GLB to two representative benchmarks: Betweenness Centrality (BC) and Unbalanced Tree Search (UTS). Among them, BC can be statically load-balanced whereas UTS cannot. In either case, GLB scales well-- achieving nearly linear speedup on different computer architectures (Power, Blue Gene/Q, and K) -- up to 16K cores.

연구 동기 및 목표

  • 워크로드가 비정규적이고 예측 불가능한 대규모 분산 시스템에서 동적 로드 밸런싱 문제를 해결한다.
  • 복잡한 동기화, 통신, 로드 밸런싱 로직을 사용자에게 숨기는 고수준 프로그래밍 모델을 제공한다.
  • 저수준 시스템 지식 없이도 이질적 아키텍처(파워, 블루지엔 Q, K)에서 비정규 응용 프로그램의 효율적이고 확장 가능한 병렬 실행을 가능하게 한다.
  • 통일되고 결정적인 프레임워크를 통해 정적 및 동적 로드 밸런싱 워크로드를 지원하여 정확하고 반복 가능한 결과를 보장한다.
  • 개발자가 순차적 작업 로직만 작성하도록 하여 사용자 코드 변경을 최소화하면서도, 라이브러리가 자동으로 분포, 스케줄링, 결과 감소를 처리하도록 한다.

제안 방법

  • 분산 노드 간의 효율적 작업 이동을 가능하게 하기 위해 핵심 로드 밸런싱 메커니즘으로 라이프라인 그래프 워크스틸링 알고리즘 [23]을 사용한다.
  • X10의 비동기 분할 글로벌 주소공간(APGAS) 모델을 사용하여 내부 및 상호 장소 동시성을 통일적으로 표현함으로써 분포 및 조율을 단순화한다.
  • 사용자가 작업을 로컬 상태와 불변 참조 데이터에 액세스할 수 있는 자가 포함된 단위로 정의할 수 있도록 하여 장소 간 이동이 가능한 작업을 가능하게 한다.
  • 사용 가능한 모든 장소에 작업을 자동으로 분배하고, 장애 내성, 종료 검출, 결과 감소 기능을 내장하여 실행을 조율한다.
  • 작업의 세분성 및 무작위/라이프라인 대상 수와 같은 사용자 조정 가능한 파라미터를 지원하여 처리량과 반응 지연 간의 성능 트레이드오���을 최적화한다.
  • X10의 네이티브 직렬화 지원을 활용하여 사용자 정의 데이터 유형을 노드 간 전송할 때 명시적 직렬화 코드가 필요 없도록 한다.

실험 결과

연구 질문

  • RQ1대규모 분산 시스템에서 비정규 워크로드를 정적 및 동적 로드 밸런싱 모두 처리할 수 있도록 글로벌 로드 밸런싱 프레임워크를 설계하는 방법은 무엇인가?
  • RQ2고수준 프로그래밍 모델이 복잡한 동기화 및 통신을 추상화하면서도 16,000코어에서 거의 선형적 확장성을 달성할 수 있는가?
  • RQ3라이프라인 기반 워크스틸링 모델이 분산 메모리 환경에서 전통적인 워크스틸링 또는 중앙집중식 로드 밸런싱 접근 방식보다 얼마나 뛰어난가?
  • RQ4확장 가능한 병렬 프레임워크에서 작업 로직과 성능 튜닝에 대한 완전한 제어를 유지하면서도 사용자 코드를 최소화하고 단순화할 수 있는 방법은 무엇인가?
  • RQ5이와 같은 프레임워크의 성능 특성은 파워, 블루지엔 Q, K 등 다양한 아키텍처와 UTS 및 BC와 같은 비정규 벤치마크에서 어떻게 나타나는가?

주요 결과

  • GLB는 파워, 블루지엔 Q, K 아키텍처에서 모두 중심성 기반 중심성(BC) 및 불균형 트리 탐색(UTS) 벤치마크에서 거의 선형적 스피드업을 달성한다.
  • 프레임워크는 정적 및 동적 로드 밸런싱 워크로드 모두에 대해 최대 16,000코어까지 효율적으로 확장되며, 강력한 확장성을 보여준다.
  • 이전 X10 기반 실험에서 GLB는 55,680개의 파워7 코어에서 98%의 병렬 효율성을 달성하여 대규모 시스템에서 높은 성능을 입증한다.
  • 라이브러리 덕분에 사용자는 명시적 통신 또는 동기화 코드 없이 순차적 작업 로직만 작성할 수 있어 개발 복잡도가 크게 감소한다.
  • X10의 네이티브 직렬화 및 APGAS 모델 사용으로 노드 간 데이터 전송이 단순화되고 저수준 시스템 프로그래밍의 필요성이 감소한다.
  • 작업의 세분성 및 라이프라인 대상 수와 같은 파라미터를 통해 성능 튜닝을 지원하여 사용자가 깊이 있는 시스템 지식 없이도 처리량 또는 지연 시간 최적화를 수행할 수 있다.

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

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

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

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