학술논문

Gemini: Enabling Multi-Tenant GPU Sharing Based on Kernel Burst Estimation
Document Type
Periodical
Source
IEEE Transactions on Cloud Computing IEEE Trans. Cloud Comput. Cloud Computing, IEEE Transactions on. 11(1):854-867 Jan, 2023
Subject
Computing and Processing
Communication, Networking and Broadcast Technologies
Graphics processing units
Kernel
Resource management
Libraries
Software
Runtime
Synchronization
GPU
multi-tenancy
resource allocation
performance
scheduling
Language
ISSN
2168-7161
2372-0018
Abstract
Recent years have seen rapid adoption of GPUs in various types of platforms because of the tremendous throughput powered by massive parallelism. However, as the computing power of GPU continues to grow at a rapid pace, it also becomes harder to utilize these additional resources effectively with the support of GPU sharing. In this work, we designed and implemented Gemini , a user-space runtime scheduling framework to enable fine-grained GPU allocation control with support for multi-tenancy and elastic allocation, which are critical for cloud and resource providers. Our key idea is to introduce the concept of kernel burst , which refers to a group of consecutive kernels launched together without being interrupted by synchronous events. Based on the characteristics of kernel burst, we proposed a low overhead event-driven monitor and a dynamic time-sharing scheduler to achieve our goals. Our experiment evaluations using five types of GPU applications show that Gemini enabled multi-tenant and elastic GPU allocation with less than 5% performance overhead. Furthermore, compared to static scheduling, Gemini achieved 20%$\sim$∼30% performance improvement without requiring prior knowledge of applications.