NetVRM: Virtual Register Memory for Programmable Networks

NetVRM: Virtual Register Memory for Programmable Networks
复制标题

DOI:
--
复制
发表时间:
2022
期刊:
--
影响因子:
--
通讯作者:
Hang Zhu;Tao Wang;Yi Hong;Dan R. K. Ports;Anirudh Sivaraman;Xin Jin
Hang Zhu;Tao Wang;Yi Hong;Dan R. K. Ports;Anirudh Sivaraman;Xin Jin
中科院分区:
其他
文献类型:
--
作者:
Hang Zhu;Tao Wang;Yi Hong;Dan R. K. Ports;Anirudh Sivaraman;Xin Jin

文献摘要

相似文献

可编程网络启用了一个新的应用程序,该应用程序利用了线路率处理能力和交换机数据平面的芯片寄存器内存。网络管理系统支持可编程网络上多个并发应用程序之间的动态寄存器共享,并且可以在商品可编程交换机上部署虚拟寄存器记忆抽象使应用程序可以在数据平面中共享寄存器存储器,并在原则上抽象了基础详细信息。 NETVRM上的应用程序的收益减少。使用虚拟寄存器存储器,并生成数据平面程序和控制平面API。满意度比(即,在一系列工作负载范围内,满足其实用性目标的网络应用程序寿命的比例)。
Programmable networks are enabling a new class of applications that leverage the line-rate processing capability and on-chip register memory of the switch data plane. Yet the status quo is focused on developing approaches that share the register memory statically. We present NetVRM, a network management system that supports dynamic register memory sharing between multiple concurrent applications on a programmable network and is readily deployable on commodity programmable switches. NetVRM provides a virtual register memory abstraction that enables applications to share the register memory in the data plane, and abstracts away the underlying details. In principle, NetVRM supports any memory allocation algorithm given the virtual register memory abstraction. It also provides a default memory allocation algorithm that exploits the observation that applications have diminishing returns on additional memory. NetVRM provides an extension of P4, P4VRM, for developing applications with virtual register memory, and a compiler to generate data plane programs and control plane APIs. Testbed experiments show that NetVRM generalizes to a diverse variety of applications, and that its utility-based dynamic allocation policy outperforms static resource allocation. Specifically, it improves the mean satisfaction ratio (i.e., the fraction of a network application’s lifetime that it meets its utility target) by 1.6–2.2× under a range of workloads.