Services using deep learning models use a deep learning model serving system to meet SLO and schedule HW resources efficiently. Among them, Clockwork serving system guarantees SLO very reliably. Clockwork assumes that deep learning model operations are all processed on a processor because it uses GPU which is developed for general-purpose computing. However, when using AI processors, which are special-purpose processors, heterogeneous processors should be used for deep learning model operations. In this case, using Clockwork to serve deep learning models using heterogeneous processors can underutilize the processors. In this paper, we propose to overlap model execution requests when using Clockwork. Specifically, we (1) develop a serving system that supports operator and operand level scheduling to implement overlapping model execution requests technique, and (2) design a strategy for improving processor utilization while satisfying SLO using overlapping model execution requests technique. We evaluate our serving system by re-implementing Clockwork using our serving system, and we show the serving system is mature enough to operate the scheduler. We further demonstrate that when applying overlapping model execution requests technique to Clockwork, it achieves an average 1.5x improvement than original Clockwork processor utilization while maintaining high SLO satisfaction level.
딥러닝 모델 사용 서비스들은 SLO를 보장하면서 하드웨어를 효율적으로 스케줄링하기 위해 딥러닝 모델 서빙 시스템을 사용한다. 그중에서도 Clockwork 서빙 시스템은 매우 안정적으로 SLO를 보장한다. Clockwork는 높은 범용성을 가진 GPU를 사용하여 딥러닝 모델 연산이 프로세서에서 모두 처리된다고 가정한다. 하지만 낮은 범용성을 가진 인공지능 프로세서를 사용할 때는 모델 연산에 이기종 프로세서를 활용해야 한다. 이때, Clockwork를 사용하면 이기종 프로세서 활용률이 떨어지는 문제가 생긴다. 본 논문에서는 이를 해결하기 위해 Clockwork에 모델 요청 중첩 처리 기법을 적용할 것을 제안한다. 구체적으로 우리는 (1) 모델 요청 중첩 처리 구현을 위해 연산자 및 피연산자 단위 스케줄링 지원 서빙 시스템을 개발하고, (2) 프로세서 활용률을 개선하면서 SLO도 보장하는 중첩 처리 전략을 고안한다. 우리는 서빙 시스템 위에서 Clockwork를 재구현함으로써 서빙 시스템이 스케줄러를 동작시키기에 충분히 성숙함을 평가했다. 또한 우리는 Clockwork에 중첩 처리 전략을 적용했을 때 기존 Clockwork보다 평균적으로 1.5배 높은 프로세서 활용률을 보이면서 SLO 보장 수준은 높게 유지하는 것을 확인했다.