서지주요정보
Managing heterogeneous SLO-aware machine learning inference tasks for gpu accelerated servers = GPU 가속기 서버에서의 SLO를 고려한 이종 기계학습 추론 작업 관리 기법 연구
서명 / 저자 Managing heterogeneous SLO-aware machine learning inference tasks for gpu accelerated servers = GPU 가속기 서버에서의 SLO를 고려한 이종 기계학습 추론 작업 관리 기법 연구 / Seungbeom Choi.
발행사항 [대전 : 한국과학기술원, 2022].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8039591

소장위치/청구기호

학술문화관(도서관)2층 학위논문

DCS 22024

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

As machine learning is applied to a wide range of applications, high throughput machine learning (ML) inference servers accelerated by GPUs have become critical for online service applications. Such ML inference servers pose two challenges: first, it must provide a bounded latency for each request to support consistent server level objective (SLO), and second, it must serve multiple heterogeneous ML models in a system as certain tasks involve invocation of multiple models and consolidating multiple models improve system utilization. Therefore, this dissertation addresses the two requirements of ML inference servers, by proposing a new ML task inference scheduling paradigm based on hardware-assisted resource partitioning for GPUs. This first part of this dissertation illustrates how partitioning can be used to improve GPU utilization of ML inference tasks, resulting in enhanced throughput. Conventional SLO-oriented schedulers which rely on timesharing and batching to schedule multi models cannot fully utilize GPUs, mainly due to the limited batch size caused by SLO constraints. Hence, a new key mechanism is proposed in this dissertation which exploits the hardware support for spatial partitioning of GPU resources. With the partitioning mechanism, a new abstraction layer of GPU resources is created with configurable GPU resources. The scheduler assigns requests to virtual GPUs, called gpulets, with the most effective amount of resources. Our prototype implementation shows that the spatial partitioning can significantly improve overall throughput by providing better utilization of GPUs while satisfying SLOs compared to conventional time-sharing schedulers. Unlike the prior work, the scheduler explores three-dimensional search space with different batch sizes, temporal sharing, and spatial sharing efficiently. The second part of this dissertation investigates a remedy for potential interference effects when two ML tasks are running concurrently in a GPU. When two ML tasks are running on a same GPU, both share a portion of shared GPU resource leading to interference. We have modeled an analytical model to predict the amount of latency overhead by utilizing profiled characteristics of each ML inference task. The model was used to predict latency overhead for a given pair of tasks. We evaluate the proposed interference model by checking whether it can successfully verify a given scheduling result. Our experimental results indicate that it can help verify faulty scheduling schemes which cause SLO violation. Lastly, we explore how gpulets can be extended to schedule tasks to multiple heterogeneous GPUs in a distributed environment. ML inference tasks cannot fully utilize a GPU and do not require multiple homogeneous GPU per task unlike training tasks. In order to provide a cost-effective ML service server and satisfy SLO at the same time, an SLO-aware scheduler which can efficiently utilize heterogeneous GPUs is required. In order to solve this challenge, we propose a scheduling scheme by extending the concept of gpulets proposed in the first part of this dissertation. Additionally, Our prototype framework auto-scales the required number of GPUs for a given workloads, minimizing the cost for cloud-based inference servers.

기계학습은 더욱 다양한 애플리케이션 사용되고 있다. 기계학습을 기반으로 서비스를 제공하기 위해 시간당 작업 처리량이 높은 시스템이 필요하다. 그러므로, 기계학습 추론작업의 고도의 병렬성을 가속할 수 있는 다중 GPU 시스템이 구축되고 있다. 이러한 시스템들이 반드시 충족해야 하는 2가지 조건이 있다: 첫째, 제한된 시간 내에 작업을 완수해야 하며 서비스 수준 목표(SLO)을 일관되게 지켜야 한다. 둘째, 다수의 이종 모델을 이용하는 애플리케이션의 숫자가 증가하고 있으며 이종 모델들을 통합하여 실행하는 것이 시스템의 자원을 더욱 효율적으로 사용할 수 있으므로 다수의 이종 기계학습 모델들을 지원해야 한다. 이러한 요구사항 을 충족할 수 있는 시스템을 설계하기 위해 이번 연구에서 이종 모델들을 지원할 수 있는 기계학습 추론 작업 스케줄링 프레임워크를 제안한다. 우선, 처리량을 향상할 수 있는 다차원 GPU 자원 분할기법을 적용하는 방법을 제안한다. 하나의 추론 작업이 GPU를 최대한 활용하기 위해 batch 크기를 늘려야 하지만 SLO 때문에 batch의 크기가 제한된다. 시간 분할기법과batching방식만으로GPU이용률을향상하는데한계가있다. 그러므로, GPU를최대한활용하기 위해 시간과 공간 분할 기법 모두를 적용한다. 공간 분할 기법을 통해 하나의 GPU에 여러 프로세스가 공간을 공유하며동시에다수의기계학습추론작업을수행할수있다. 이연구에서는공간분할기법으로나뉜자원의 묶음을 가능한 하나의 가상 GPU ”gpulet”이라는 새로운 추상 개념으로 정의하며 GPU 자원을 최대한 활용하 수 있도록 스케줄링 한다. 제안한 시스템의 SLO 충족 여부와 성능을 평가하기 위해 프로토타입을 구현했으며 실험을 통해 SLO를 만족하는 것과 동시에 처리량이 향상되는 것을 확인했다. 다음으로,한GPU안에다수의작업이실행될때발생하는성능간섭의정도를예측하는방법을제안한다. 2개 이상의 기계학습 추론 작업이 동시에 GPU에서 실행될 때, 두 작업이 공유하는 자원에서 성능 간섭현상 이 발생하고 이는 성능 저하를 유발한다. 각 추론작업의 자원 이용률에 대한 프로파일링 데이터를 기반으로 성능 저하를 예측할 수 있는 모델을 설계했다. 해당 모델은 한 쌍의 추론작업이 서로의 실행시간을 얼마만큼 지연시키는지 예측한다. 실험을 통해 우리가 제안한 모델이 성능 간섭 현상 때문에 SLO가 위반되는 경우를 성공적으로 감지할 수 있다는 것을 확인했다. 마지막으로, gpulets 의 개념을 확장하여 분산 이종 GPU 시스템에도 적용할 수 있는 방안을 제시한다. 기 계학습추론작업은하나의GPU를충분히활용하지못하므로다수의동종GPU분산시스템을구축할필요가 없다. 최소한의 자원으로 최대의 성능을 보이기 위해 이종 GPU 시스템의 자원을 효율적으로 활용할 수 있는 스케줄러가 필요하다. 그러므로, 분산 이종 GPU를 보다 효율적으로 이용할 수 있도록 위해 gpulets 의 개념을 확장한다. 추가적으로, 본 연구에서 구현한 프레임 워크는 GPU의 수를 자동조율하여 GPU Cloud에서 추론 서비스를 운용하기 위해 드는 비용을 절감시킨다.

서지기타정보

서지기타정보
청구기호 {DCS 22024
형태사항 v, 67 p. : 삽도 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 최승범
지도교수의 영문표기 : Jaehyuk Huh
지도교수의 한글표기 : 허재혁
Including appendix
학위논문 학위논문(박사) - 한국과학기술원 : 전산학부,
서지주기 References : p. 61-65
주제 Machine learning
GPU
Inference
Multi-model execution
SLO
기계학습
그래픽 처리 장치
추론 작업
다중 딥 러닝 모델
서비스 수준 계약
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서