To meet the high demands for Deep Neural Network (DNN) computation, major cloud vendors offer Machine Learning (ML) acceleration as a service. Due to the high compute requirement of DNN application, GPUs and chips specially designed for DNN computation called Neural Processing Units (NPUs) are generally used for the computation. Service providers utilize multi-tenancy by co-locating multiple DNN models inside a single accelerator to achieve high throughput and reduce the Total Cost of Ownership (TCO). However, current NPUs lack the ability to preempt an on-going task and cannot provide fast response time to high priority requests leading to Service Level Agreement (SLA) violation. To improve the Quality of Service (QoS) of ML services, this dissertation explores three possible preemption mechanisms for NPUs and proposes a scheduling algorithm (PREMA) working on top of the preemptible NPU. Overall, the proposed scheduler achieves an average of 7.8$\times$, 1.4$\times$, and 4.8$\times$ improvement in latency, throughput, and SLA satisfaction, respectively.
뉴럴 네트워크를 활용한 심층 학습 연산에 대한 수요가 많아지면서 주요 클라우드 제공업체에서는 기계학습 가속을 서비스로 제공한다. 심층 학습 프로그램의 높은 연산 요구량을 충족하는 연산 성능을 제공하기 위해서 그래픽 처리 장치(GPU) 그리고 심층 학습을 위해서 특별히 설계된 가속기가 활용된다. 서비스 제공업체는 단일 가속기 내에 여러 심층 학습 모델 배치하여 높은 처리량을 달성하고 총 소유 비용(TCO)을 절감한다. 그러나 현재 상용화된 뉴럴 프로세서는 진행 중인 작업을 선점하지 못하여 높은 우선순위 요청에 신속한 응답 시간을 제공할 수 없으며 이는 서비스 수준 계약(SLA) 위반으로 이어진다. 본 학위 논문은 심층 학습 서비스에 대한 품질 향상을 위해서 뉴럴 프로세서에서 활용 가능한 선점 방법을 연구하고, 이러한 선점 가능한 뉴럴 프로세서에서 활용할 수 있는 심층 학습을 위한 스케줄링 방법을 제안한다. 전반적으로 제안한 스케줄링 방법은 평균적으로 지연시간, 처리량, 서비스 수준 만족도를 각각 7.8배, 1.4배, 4.8배 향상시킬 수 있다.