一句话:提出GPU Maestro,通过直接测量动态发现最优GPU资源划分,提升多任务GPU系统吞吐。
随着GPU被广泛采用,在同一GPU上同时运行多个应用开始受到关注。已有面向多任务GPU的方案要么采用空间多任务,在流多处理器(SM)粒度划分GPU资源,要么采用同时多内核(SMK),在同一SM上运行多个kernel。然而,多任务性能高度依赖各方案内部的资源划分和应用混合。本文提出GPU Maestro,对多任务GPU进行动态资源管理,能够同时利用空间多任务与SMK发现性能最佳的GPU资源划分;由于通过直接测量寻找最佳划分,它还能自动考虑kernel内部的动态性和kernel间的干扰。评估表明,相比基线空间多任务和SMK,GPU Maestro分别将平均系统吞吐提升20.2%和13.9%。
As graphics processing units (GPUs) are broadly adopted, running multiple applications on a GPU at the same time is beginning to attract wide attention. Recent proposals on multitasking GPUs have focused on either spatial multitasking, which partitions GPU resource at a streaming multiprocessor (SM) granularity, or simultaneous multikernel (SMK), which runs multiple kernels on the same SM. However, multitasking performance varies heavily depending on the resource partitions within each scheme, and the application mixes. In this paper, we propose GPU Maestro that performs dynamic resource management for efficient utilization of multitasking GPUs. GPU Maestro can discover the best performing GPU resource partition exploiting both spatial multitasking and SMK. Furthermore, dynamism within a kernel and interference between the kernels are automatically considered because GPU Maestro finds the best performing partition through direct measurements. Evaluations show that GPU Maestro can improve average system throughput by 20.2% and 13.9% over the baseline spatial multitasking and SMK, respectively.