[논문 리뷰] Serving DNNs like Clockwork: Performance Predictability from the Bottom Up
Clockwork는 DNN 추론이 GPUs에서 결정론적 실행을 보인다는 점을 입증하고, 예측 가능한 엔드-투-엔드 대기시간을 달성하기 위해 중앙 집중식 컨트롤러와 각-GPU 워커를 설계하며 수천 개 모델에 대한 엄격한 SLO를 충족합니다. 또한 어디에서 가변성이 발생할 수 있는지 제약함으로써 테일 레이턴시를 최소화하는 예측적이며 하향식(bottom-up) 아키텍처를 선보입니다.
Machine learning inference is becoming a core building block for interactive web applications. As a result, the underlying model serving systems on which these applications depend must consistently meet low latency targets. Existing model serving architectures use well-known reactive techniques to alleviate common-case sources of latency, but cannot effectively curtail tail latency caused by unpredictable execution times. Yet the underlying execution times are not fundamentally unpredictable - on the contrary we observe that inference using Deep Neural Network (DNN) models has deterministic performance. Here, starting with the predictable execution times of individual DNN inferences, we adopt a principled design methodology to successively build a fully distributed model serving system that achieves predictable end-to-end performance. We evaluate our implementation, Clockwork, using production trace workloads, and show that Clockwork can support thousands of models while simultaneously meeting 100ms latency targets for 99.9999% of requests. We further demonstrate that Clockwork exploits predictable execution times to achieve tight request-level service-level objectives (SLOs) as well as a high degree of request-level performance isolation.
연구 동기 및 목표
- DNN 추론이 GPUs에서 결정론적 실행 시간을 보임을 입증한다.
- 분산 서빙 시스템에서 예측 가능성을 보존하기 위해 선택을 통합하는 설계 원칙을 제안한다.
- 중앙 집중식 컨트롤러와 예측 가능한 워커를 갖춘 Clockwork의 아키텍처를 제시한다.
- 실제 운영과 같은 워크로드에서 Clockwork를 평가하고 지연 및 처리량 면에서 기존 시스템과 비교한다.
제안 방법
- GPU에서 개별 DNN 추론의 결정론성을 주장하고 정량화한다.
- 상위 계층에서 선택을 통합하여 하위 계층의 가변성을 제약하는 것을 제안한다(스케줄링 및 메모리 관리 결정의 제한).
- 한 번에 하나의 Load 및 하나의 Infer 작업을 실행하는 중앙 컨트롤러와 각-GPU 워커를 갖춘 Clockwork를 구현한다.
- 미리 할당된 메모리와 정적인 워크스페이스를 사용하여 사용자 모델을 컴파일하고 실행하기 위해 TVM 위에 구축된 모델 런타임을 사용한다.
- 가장 이른/가장 늦은 실행 창이 있는 엄격한 액션 기반 인터페이스(Load, Unload, Infer)를 적용하고 최선의 노력 보정은 없다.
- 생산 트레이스 워크로드로 평가하고 지연 목표 및 모델 수 확장성을 측정한다.
실험 결과
연구 질문
- RQ1분산 서빙 환경에서 DNN 추론을 예측 가능하고 결정론적인 실행으로 간주할 수 있는가?
- RQ2다수 모델에 걸친 워크로드 확장에 따라 예측 가능한 성능을 보존하기 위해 시스템 설계 선택을 어떻게 통합할 수 있는가?
- RQ3Clockwork가 GPU당 수천 개의 모델을 지원하면서도 엔드 투 엔드 지연 SLO를 촘촘히 충족하고 요청당 격리성을 확보하는가?
- RQ4스케줄링 결정을 중앙집중화할 때 예측 가능성과 모듈성 간의 트레이드오프는 무엇인가?
- RQ5Clockwork가 지연, 좋은 처리량(goodput), 모델 공유 측면에서 이전의 모델 서빙 시스템과 어떻게 비교되는가?
주요 결과
- 격리된 추론 지연은 매우 예측 가능하며(v100 GPU에서 중앙값과의 작은 차이 이내의 99.99백분위수).
- 한 번에 하나의 Infer 동작을 수행하는 중앙 집중식 컨트롤러는 GPU, OS, 기타 계층에 의해 초래되는 가변성을 크게 줄여 테일 레이턴시를 개선한다.
- Clockwork는 현실적인 워크로드에서 99.9999%의 요청에 대해 서브-100 ms 지연으로 GPU당 수천 개의 모델을 지원할 수 있다.
- 선택의 통합은 만최선의 노력 기전의 필요성을 줄이고 선제적이며 스케줄 가능한 실행을 가능하게 한다.
- Clockwork는 Clipper 및 INFaaS에 비해 지연 목표 달성에서 우수하며 비슷하거나 더 나은 goodput 및 자원 공유를 달성한다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.