Skip to main content
QUICK REVIEW

[논문 리뷰] Scaling GRPC Tensorflow on 512 nodes of Cori Supercomputer

Amrita Mathuriya, Thorsten Kurth|arXiv (Cornell University)|2017. 12. 26.
Advanced Neural Network Applications참고 문헌 3인용 수 10
한 줄 요약

이 논문은 Cori 슈퍼컴퓨터의 최대 512개의 Intel Xeon Phi 노드에서 GRPC 기반 분산 Tensorflow의 확장성을 ResNet-50 및 HEP-CNN 모델을 사용하여 평가한다. GRPC 사용의 비효율성, 파라미터 서버의 로드 불균형, 그리고 최적화되지 않은 인터커넥트 활용도로 인해 통신 병목 현상이 발생하며, 고대역폭 인터커넥트를 사용하고도 512개의 워커에서 23%의 확장성 효율성에 그친다.

ABSTRACT

We explore scaling of the standard distributed Tensorflow with GRPC primitives on up to 512 Intel Xeon Phi (KNL) nodes of Cori supercomputer with synchronous stochastic gradient descent (SGD), and identify causes of scaling inefficiency at higher node counts. To our knowledge, this is the first exploration of distributed GRPC Tensorflow scalability on a HPC supercomputer at such large scale with synchronous SGD. We studied scaling of two convolution neural networks - ResNet-50, a state-of-the-art deep network for classification with roughly 25.5 million parameters, and HEP-CNN, a shallow topology with less than 1 million parameters for common scientific usages. For ResNet-50, we achieve >80% scaling efficiency on up to 128 workers, using 32 parameter servers (PS tasks) with a steep decline down to 23% for 512 workers using 64 PS tasks. Our analysis of the efficiency drop points to low network bandwidth utilization due to combined effect of three factors. (a) Heterogeneous distributed parallelization algorithm which uses PS tasks as centralized servers for gradient averaging is suboptimal for utilizing interconnect bandwidth. (b) Load imbalance among PS tasks hinders their efficient scaling. (c) Underlying communication primitive GRPC is currently inefficient on Cori high-speed interconnect. The HEP-CNN demands less interconnect bandwidth, and shows >80% weak scaling efficiency for up to 256 nodes with only 1 PS task. Our findings are applicable to other deep learning networks. Big networks with millions of parameters stumble upon the issues discussed here. Shallower networks like HEP-CNN with relatively lower number of parameters can efficiently enjoy weak scaling even with a single parameter server.

연구 동기 및 목표

  • Cori 슈퍼컴퓨터와 같은 대규모 HPC 시스템에서 GRPC 기반 분산 Tensorflow의 약한 확장성 행동을 평가하는 것.
  • 특히 통신 프로토콜과 파라미터 서버 아키텍처와 관련된 확장성 훈련에서의 성능 병목 현상을 규명하는 것.
  • 동일한 조건에서 딥 네트워크(ResNet-50)와 경량 네트워크(HEP-CNN)의 확장성 비교.
  • 파라미터 서버 수와 로드 불균형이 인터커넥트 활용도와 훈련 효율성에 미치는 영향 분석.

제안 방법

  • ResNet-50에 대해 tf_cnn_benchmarking 스크립트를 사용하고, HEP-CNN에 대해서는 분산 훈련을 가능하게 하기 위해 tf.train.Supervisor API를 사용하도록 수정된 코드를 활용.
  • 모든 워커와 파라미터 서버(PS)를 별도의 KNL 노드에 구성하고 스레드 우선순위 최적화 및 소스에서 컴iles한 MKL 최적화된 Tensorflow를 사용.
  • I/O 병목 현상을 제거하기 위해 더미 데이터를 사용하여 통신 및 동기화 오버헤드에만 집중.
  • 고정된 미니배치 크기(각 워커당 128)로 동기식 확률적 경사 하강법을 사용하여 약한 확장성 효율성 평가.
  • 워커 수와 PS 작업 수를 변화시키며 단일 노드 성능 대비 확장성 효율성 측정.
  • 통신 패턴, PS 작업 간 로드 분포, 인터커넥트 활용도를 분석하여 성능 병목 현상 규명.

실험 결과

연구 질문

  • RQ1512노드의 Cori 슈퍼컴퓨터에서 동기식 SGD를 사용하는 GRPC 기반 분산 Tensorflow의 약한 확장성 효율성은 얼마인가?
  • RQ2파라미터 서버 수와 로드 불균형은 대규모에서 통신 효율성과 전체 확장성에 어떻게 영향을 미치는가?
  • RQ3고속 인터커넥트 대역폭을 갖추고도 ResNet-50의 확장성 효율성이 128개 워커를 초과하면 심하게 떨어지는 이유는 무엇인가?
  • RQ4HEP-CNN은 왜 단일 파라미터 서버만을 사용함에도 불구하고 256개 워커까지도 높은 효율성을 유지하는가?
  • RQ5최적의 all-reduce 구현 대비 GRPC 통신 프로토콜이 대역폭 활용도를 얼마나 제한하는가?

주요 결과

  • ResNet-50은 32개의 파라미터 서버를 사용해 최대 128개의 워커에서 80% 이상의 확장성 효율성을 달성했지만, 64개의 PS 작업을 사용한 512개 워커에서는 23%로 감소.
  • 대규모에서의 성능 저하 원인은 Cori의 고속 인터커넥트에서 GRPC 비효율성으로 인한 낮은 네트워크 대역폭 활용도에 기인.
  • PS 수가 54를 초과할 경우 파라미터 서버 간 로드 불균형이 주요 병목 현상이 되었으며, ResNet-50의 99% 파라미터가 54개의 큰 텐서에 집중되어 있었음.
  • HEP-CNN은 단일 파라미터 서버만을 사용함에도 불구하고 256개 워커까지도 80% 이상의 약한 확장성 효율성 유지, 통신 부하가 낮아서일 것임.
  • ResNet-50에서 PS 수를 32개에서 64개로 증가시켜도 성능 향상이 거의 없었으며, 이는 로드 불균형과 프로토콜 제약으로 인한 수익 감소 효과를 시사.
  • 粗략한 추정에 따르면 ResNet-50의 실제 대역폭 대비 최대 달성 가능한 성능 간 약 5~6배의 격차가 존재하여, 통신 스택 최적화 여지가 크다는 것을 시사.

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

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

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

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