一句话:提出 Prophet,通过干扰模型预测 GPU 等加速器上共置应用的性能退化,在保证 QoS 的同时提升利用率。
现代数据中心通过应用共置提高服务器利用率,但资源竞争会导致延迟敏感应用的 QoS 下降。已有工作仅面向多核 CPU 预测共置干扰,缺乏对 GPU 等加速器的预测方法。本文通过真实系统分析发现,加速器上的关键竞争资源与多核不同,主要是处理单元、加速器内存带宽和 PCIe 带宽。基于此,作者设计了三类干扰模型,并提出一种利用干扰模型预测共置应用单独运行执行轨迹的新技术,从而在非抢占加速器上准确预测延迟敏感应用的性能退化。评估表明,Prophet 在真实系统上的平均预测误差为 5.47%,并可据此识别安全的共置组合,在保持 QoS 目标的同时平均提升加速器利用率 49.9%。
Guaranteeing Quality-of-Service (QoS) of latency-sensitive applications while improving server utilization through application co-location is important yet challenging in modern datacenters. The key challenge is that when applications are co-located on a server, performance interference due to resource contention can be detrimental to the application QoS. Although prior work has proposed techniques to identify "safe" co-locations where application QoS is satisfied by predicting the performance interference on multicores, no such prediction technique on accelerators such as GPUs. In this work, we present Prophet, an approach to precisely predict the performance degradation of latency-sensitive applications on accelerators due to application co-location. We analyzed the performance interference on accelerators through a real system investigation and found that unlike on multicores where the key contentious resources are shared caches and main memory bandwidth, the key contentious resources on accelerators are instead processing elements, accelerator memory bandwidth and PCIe bandwidth. Based on this observation, we designed interference models that enable the precise prediction for processing element, accelerator memory bandwidth and PCIe bandwidth contention on real hardware. By using a novel technique to forecast solo-run execution traces of the co-located applications using interference models, Prophet can accurately predict the performance degradation of latency-sensitive applications on non-preemptive accelerators. Using Prophet, we can identify "safe" co-locations on accelerators to improve utilization without violating the QoS target. Our evaluation shows that Prophet can predict the performance degradation with an average prediction error 5.47% on real systems. Meanwhile, based on the prediction, Prophet achieves accelerator utilization improvements of 49.9% on average while maintaining the QoS target of latency-sensitive applications.