Overflowing emerging neural network inference tasks from the GPU to the CPU on heterogeneous servers
Overflowing emerging neural network inference tasks from the GPU to the CPU on heterogeneous servers
复制标题
DOI:
10.1145/3534056.3534935
复制
发表时间:
2022-06
期刊:
影响因子:
--
通讯作者:
Adithya Kumar;A. Sivasubramaniam;T. Zhu
中科院分区:
文献类型:
--
作者:
Adithya Kumar;A. Sivasubramaniam;T. Zhu
While current deep learning (DL) inference runtime systems sequentially offload the model's tasks on to an available GPU/accelerator based on its capability, we make a case for selectively redirecting some of these tasks to the CPU and running them concurrently with the GPU doing other work. This new opportunity specifically arises for emerging DL models whose data flow graphs (DFGs) have much wider fan-outs compared to traditional ones which are invariably linear chains of tasks. By opportunistically moving some of these tasks to the CPU, we can (i) shave off service times from the critical path of the DFG, (ii) devote the GPU for more deserving tasks, and (iii) improve overall utilization of the provisioned hardware in the server. However, several factors such as its criticality in the DFG, slowdown when moved to a different hardware engine, and overheads in transferring input/output data across these engines, determine the what/when/how of tasks to be directed. While this is computationally demanding and slow to be solved optimally, through a series of rationales we derive a fast technique for task overflow from GPU to CPU. We implement this technique on a nimble heterogeneous concurrent runtime engine built on top of the state-of-the-art ONNXRuntime engine and demonstrate > 10% reduction in latency, > 19% gain in throughput, and > 9.8% savings in GPU memory usage for emerging neural network models.