[논문 리뷰] Performance Modeling of Distributed Deep Neural Networks
이 논문은 분산 딥 뉴럴 네트워크 프레임워크인 마이크로소프트 CNTK의 성능 모델링 및 프로파일링 연구를 제안하며, 낮은 I/O 활용도와 단일 서버 버팀목이 확장성에 심각한 제약을 가한다고 밝힌다. 이론적으로는 선형 확장성이 가능하지만, CNTK는 순차적 디스크 I/O와 서버 포화로 인해 4개 노드를 초과하면 성능이 저하되며, 16명의 워커를 초과하면 계산 시간이 증가함에 따라 분산 DNN 시스템의 심각한 비효율성을 드러낸다.
During the past decade, machine learning has become extremely popular and can be found in many aspects of our every day life. Nowayadays with explosion of data while rapid growth of computation capacity, Distributed Deep Neural Networks (DDNNs) which can improve their performance linearly with more computation resources, have become hot and trending. However, there has not been an in depth study of the performance of these systems, and how well they scale. In this paper we analyze CNTK, one of the most commonly used DDNNs, by first building a performance model and then evaluating the system two settings: a small cluster with all nodes in a single rack connected to a top of rack switch, and in large scale using Blue Waters with arbitary placement of nodes. Our main focus was the scalability of the system with respect to adding more nodes. Based on our results, this system has an excessive initialization overhead because of poor I/O utilization which dominates the whole execution time. Because of this, the system does not scale beyond a few nodes (4 in Blue Waters). Additionally, due to a single server-multiple worker design the server becomes a bottleneck after 16 nodes limiting the scalability of the CNTK.
연구 동기 및 목표
- 비동기적 확률적 경사 하강법(ASGD) 기반 분산 DNN에서의 성능 모델 개발
- 작은 규모와 큰 규모의 클러스터에서 이론적 모델과 실제 CNTK 성능 간의 비교 평가
- 세부적인 프로파일링과 트레이싱을 통한 CNTK의 확장성 버팀목 식별 및 진단
- 분산 훈련 프레임워크에서 I/O 비효율성과 서버 오버로드를 해결하기 위한 향상 방안 제안
제안 방법
- ASGD 기반 DNN 훈련에서 CPU, 메모리, 디스크 I/O, 네트워크 통신를 고려한 성능 모델 구축
- 워커 수를 다양하게 설정한 8노드 클러스터와 블루 워터스 슈퍼컴퓨터에서 확장성 실험 수행
- TAU 성능 도구를 사용해 실행 단계를 프로파일링하고 트레이싱하여 I/O 및 서버 관련 오버헤드를 분리
- 초기 성능 모델을 수정하여 순차적 디스크 액세스와 서버 포화를 반영하고, T_new_disk 및 T_new_total의 새로운 식 도입
- 초기화 및 계산 단계의 단계별 실행 분석을 통해 확장성 추세와 버팀목 식별
- 향후 개선 방안으로 병렬 I/O와 분산 매개변수 서버 아키텍처에 중점을 두어 서버 버팀목 완화
실험 결과
연구 질문
- RQ1CNTK는 분산 설계가 되어 있음에도 불구하고 왜 4~16개 노드를 초과해 확장되지 못하는가?
- RQ2초기화 단계에서 I/O 성능, 특히 순차적 디스크 액세스가 실행 시간에 얼마나 큰 영향을 미치는가?
- RQ3워커 수가 증가함에 따라 단일 서버 아키텍처가 어떻게 버팀목이 되는가?
- RQ4I/O 및 서버 제약 조건을 반영한 업데이트된 모델과 비교할 때, 초깃 성능 모델이 실제 실행을 얼마나 잘 예측하는가?
- RQ5분산 DNN 훈련에서 이론적 확장성과 실제 시스템 행동 간의 주요 성능 격차는 무엇인가?
주요 결과
- 초기화 시간은 순차적 디스크 I/O로 인해 노드 수에 비례해 선형 증가하며, 이로 인해 주요 성능 오버헤드가 된다.
- 계산 시간은 16개 노드까지 선형 감소하지만, 그 이상에서는 서버 포화로 인해 증가한다.
- 블루 워터스에서는 4개 노드를 초과하면, 서버 버팀목으로 인해 효과적인 확장성이 이루어지지 않으며, 16개 노드를 초과하면 마찬가지로 확장성에 제약이 있다.
- 순차적 I/O와 서버 제한을 반영한 업데이트된 성능 모델은 실험 결과와 매우 유사하게 일치한다.
- 초기화 단계의 완벽한 병렬화가 이루어져도 서버 제약으로 인해 16개 노드를 초과해 확장할 수 없다.
- 이론적 확장성과 실제 확장성 간의 격차는 주로 I/O 비효율성과 단일 서버 아키텍처에 기인한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.