Yama: Providing Performance Isolation for Black-Box Offloads

Yama: Providing Performance Isolation for Black-Box Offloads
复制标题

DOI:
10.1145/3620678.3624792
复制
发表时间:
2023-10
期刊:
Proceedings of the 2023 ACM Symposium on Cloud Computing
影响因子:
--
通讯作者:
T. Ji;Divyanshu Saxena;Brent E. Stephens;Aditya Akella
T. Ji;Divyanshu Saxena;Brent E. Stephens;Aditya Akella
中科院分区:
其他
文献类型:
--
作者:
T. Ji;Divyanshu Saxena;Brent E. Stephens;Aditya Akella

文献摘要

相似文献

通过高级实体(用户、容器等)共享具有各种非网卡负载的集群已经变得越来越普遍。需要跨这些实体进行性能隔离,因为由于硬件容量有限,卸载可能成为瓶颈。然而,现有的为NIC卸载提供调度和资源管理的工作都需要定制NIC或卸载,而商品现成的NIC和具有专有实现的卸载已广泛部署在数据中心中。本文提出了Yama,这是在共享此类黑盒NIC卸载时实现每个实体隔离的第一个解决方案。Yama提供了一个通用框架,可以捕获大多数卸载操作的公共抽象,从而允许操作人员合并现有的卸载。框架通过辅助工作负载主动探测卸载的性能,并在启动端强制隔离。Yama还支持链式卸载。我们的评估表明,1)Yama在各种类型的卸载和复杂的卸载链场景中实现了每个实体的最大最小公平性;2) Yama快速收敛于平衡中的变化,3)Yama给应用程序工作负载增加的开销可以忽略不计。
The sharing of clusters with various on-NIC offloads by high-level entities (users, containers, etc.) has become increasingly common. Performance isolation across these entities is desired because the offloads can become bottlenecks due to the limited capacity of hardware. However, the existing works that provide scheduling and resource management to NIC offloads all require customization of the NIC or offloads, while commodity off-the-shelf NICs and offloads with proprietary implementation have been widely deployed in datacenters. This paper presents Yama, the first solution to enable per-entity isolation in the sharing of such black-box NIC offloads. Yama provides a generic framework that captures a common abstraction to the operation of most offloads, which allows operators to incorporate existing offloads. The framework proactively probes for the performance of the offloads with auxiliary workload and enforces isolation at the initiator side. Yama also accommodates chained offloads. Our evaluation shows that 1) Yama achieves per-entity max-min fairness for various types of offloads and in complicated offload chaining scenarios; 2) Yama quickly converges to changes in equilibrium and 3) Yama adds negligible overhead to application workload.