Skip to main content
QUICK REVIEW

[논문 리뷰] Designing a Micro-Benchmark Suite to Evaluate gRPC for TensorFlow: Early Experiences

Rajarshi Biswas, Xiaoyi Lu|arXiv (Cornell University)|2018. 04. 03.
Advanced Neural Network Applications참고 문헌 14인용 수 7
한 줄 요약

이 논문은 실제 워크로드 통신 패턴을 모델링함으로써 텐서플로우 워크로드에서 gRPC의 성능을 평가하기 위해 설계된 TF-gRPC-Bench라는 마이크로 벤치마크 세트를 제안한다. 이 세트는 인기 있는 딥러닝 모델을 프로파일링하여 유도된 세 가지 타겟 벤치마크를 포함하며, 이더넷, IPoIB, RDMA 네트워크에서의 평가 결과, 특히 저지연, 고대역폭 조건에서 뚜렷한 성능 차이가 나타나 gRPC가 네트워크 스택 선택에 매우 민감함을 입증한다.

ABSTRACT

Remote procedure call (RPC) is the backbone of many modern distributed systems. Google's gRPC is one of the most popular open source RPC frameworks available in the community. gRPC is the main communication engine for Google's Deep Learning framework TensorFlow. TensorFlow primarily uses gRPC for communicating tensors and administrative tasks among different processes. Tensor updates during the training phase are communication intensive and thus TensorFlow's performance is heavily dependent on the underlying network and the efficacy of the communication engine. Training deep learning models on TensorFlow can take significant time ranging from several minutes to several hours, even several days. Thus system researchers need to devote a lot of time to understand the impact of communication on the overall performance. Clearly, there is lack of benchmarks available for system researchers. Therefore, we propose TF-gRPC-Bench micro-benchmark suite that enables system researchers to quickly understand the impact of the underlying network and communication runtime on deep learning workloads. To achieve this, we first analyze the characteristics of TensorFlow workload over gRPC by training popular deep learning models. Then, we propose three micro-benchmarks that take account these workload characteristics. In addition, we comprehensively evaluate gRPC with TF-gRPC-Bench micro-benchmark suite on different clusters over Ethernet, IPoIB, and RDMA, and present the results.

연구 동기 및 목표

  • 텐서플로우에서 분산 딥러닝 워크로드에 대한 gRPC 영향을 평가하기 위한 전용 벤치마크의 부족을 해결하기 위해.
  • 텐서플로우 훈련 워크로드에서 gRPC를 통한 핵심 통신 특성(메시지 크기, 빈도, 데이터 유형 등)을 식별하고 모델링하기 위해.
  • 텐서플로우에서 나타나는 대표적인 통신 패턴을 고립하고 재현하는 타겟팅된 마이크로 벤치마크 세트를 설계하기 위해.
  • 제안된 벤치마크 세트를 사용하여 이더넷, IPoIB, RDMA 등의 다양한 네트워크 기술에서 gRPC 성능을 평가하기 위해.
  • 시스템 연구자들이 분산 머신러닝 시스템의 통신 스택 성능을 연구하기 위해 재현 가능하고 효율적인 도구를 제공하기 위해.

제안 방법

  • 저자들은 텐서플로우에서 인기 있는 딥러닝 모델(예: ResNet, Inception)의 훈련 워크로드를 프로파일링하여 메시지 크기, 빈도, 데이터 유형 등의 통신 특성을 추출하였다.
  • 이러한 특성들을 바탕으로 세 가지 마이크로 벤치마크를 설계하였다: 작은 메시지의 빈번한 통신(예: 기울기)을 위한 것, 큰 메시지의 희귀한 통신(예: 모델 가중치)을 위한 것, 실제 훈련 단계를 반영한 혼합 워크로드를 위한 것.
  • 벤치마크는 텐서플로우의 내부 RPC 메커니즘을 사용하여 gRPC 통신 패턴을 시뮬레이션하며, 텐서 직렬화 및 전송 오버헤드에 중점을 두었다.
  • 이 세트는 제어된 설정을 통해 성능 차이를 고립시키기 위해 표준 이더넷, IPoIB(InfiniBand), RDMA 네트워크를 사용한 여러 클러스터에서 평가되었다.
  • 성능 메트릭스로는 종단 간 지연, 대역폭, 다양한 메시지 크기와 네트워크 조건에서의 확장성 등이 포함되었다.
  • 재현 가능하고 공정한 평가를 보장하기 위해 표준화되고 반복 가능한 설정을 사용하였다.

실험 결과

연구 질문

  • RQ1다양한 네트워크 기술(이더넷, IPoIB, RDMA)은 텐서플로우 통신 워크로드에서 gRPC 성능에 어떤 영향을 미치는가?
  • RQ2텐서플로우 훈련 워크로드에서 gRPC 성능에 영향을 미치는 주요 통신 패턴은 무엇인가?
  • RQ3마이크로 벤치마크 세트는 실제로 딥러닝 훈련 워크로드의 성능 특성을 정확하게 반영할 수 있는가?
  • RQ4분산 텐서플로우 훈련에서 메시지 크기와 빈도에 따라 gRPC 성능은 어떻게 변하는가?
  • RQ5네트워크 스택 선택이 gRPC 기반 분산 머신러닝 시스템의 종단 간 훈련 지연에 얼마나 큰 영향을 미치는가?

주요 결과

  • gRPC 성능은 네트워크 유형에 따라 크게 달라졌으며, 특히 작은 메시지에 대해 RDMA가 가장 낮은 지연과 가장 높은 대역폭을 제공하였다.
  • IPoIB는 커널 오버헤드가 낮고 인터럽트 처리가 더 우수하여 표준 이더넷보다 우수한 성능을 보였으며, 저지연 시나리오에서 특히 두각을 나타냈다.
  • 마이크로 벤치마크는 실제 텐서플로우 훈련 워크로드의 성능 저하 요인을 성공적으로 포착하였으며, 특히 기울기 동기화 단계에서 두드러졌다.
  • 작은 메시지 통신(예: 기울기)은 네트워크 스택 선택에 가장 민감했으며, RDMA는 이더넷 대비 지연을 최대 50%까지 감소시켰다.
  • 모든 네트워크에서 메시지 크기 증가에 따라 대역폭이 잘 확장되었지만, 특히 고주기, 저지연 환경에서 RDMA가 전반적으로 뛰어난 성능 유지를 보였다.
  • 벤치마크 세트는 일관되고 반복 가능한 성능 측정을 가능하게 하여 분산 머신러닝에서 통신 스택의 시스템 수준 평가에 적합하였다.

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

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

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

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