Data-plane programmability is now mainstream, both in the form of programmable switches and smart network-interface cards (SmartNICs). As the number of use cases for programmable network devices grows, each device will need to support multiple packet-processing modules simultaneously. These modules are likely to be independently developed, e.g., measurement and security modules developed by different teams, or cloud tenants offloading packet processing to a NIC. Hence, we need isolation mechanisms to ensure that modules on the same device do not interfere with each other. This paper presents a system, Menshen, for inter-module isolation on programmable packet-processing pipelines similar to the RMT/PISA architecture. Menshen consists of a set of lightweight hardware primitives that can be added to an RMT pipeline and a compiler to take advantage of these primitives. We prototype the Menshen hardware using the NetFPGA switch and Corundum FPGA NIC platforms and the Menshen software using the open-source P4-16 reference compiler. We show that Menshen supports multiple modules simultaneously, allows one module to be quickly updated without disrupting other modules, and consumes a modest amount of additional hardware resources relative to an RMT pipeline. We have open sourced the code for Menshen's hardware and software at https://github.com/anonymous-submission-855. Although we do not have an ASIC implementation of Menshen, we believe its primitives are simple enough that they can be added to an ASIC realization of RMT as well.


翻译:数据- 飞机编程程序现已成为主流, 其形式为可编程的开关和智能网络界面卡( SmartNICs) 。 随着可编程网络设备使用案例数量的增加, 每个设备都需要同时支持多个包处理模块。 这些模块很可能是独立开发的, 例如, 由不同团队开发的测量和安全模块, 或云租客将包处理卸载到NIC。 因此, 我们需要隔离机制以确保同一设备上的模块不相互干扰。 本文提供了一个系统, Menshen, 用于与 RMT/ PISA 结构类似的可编程组合处理管道的模块间隔离。 Menshen 由一组轻量的硬件原始模块组成, 可以添加到 RMT 管道中, 利用这些原始版本。 我们用 NetFPGA 开关和 Crontemdum FICA 平台和 Menshenshen软件来支持多个模块。 我们显示, Menshen支持多个模块的多个模块, 允许一个简单的RMT A- 8 软模块快速更新到一个硬化的版本。

0
下载
关闭预览

相关内容

编译器(Compiler),是一种计算机程序,它会将用某种编程语言写成的源代码(原始语言),转换成另一种编程语言(目标语言)。
多标签学习的新趋势(2020 Survey)
专知会员服务
41+阅读 · 2020年12月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
107+阅读 · 2020年5月3日
2019年机器学习框架回顾
专知会员服务
35+阅读 · 2019年10月11日
Yoshua Bengio,使算法知道“为什么”
专知会员服务
7+阅读 · 2019年10月10日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
CCF推荐 | 国际会议信息8条
Call4Papers
9+阅读 · 2019年5月23日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
Ray RLlib: Scalable 降龙十八掌
CreateAMind
9+阅读 · 2018年12月28日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
【推荐】树莓派/OpenCV/dlib人脸定位/瞌睡检测
机器学习研究会
9+阅读 · 2017年10月24日
【推荐】RNN/LSTM时序预测
机器学习研究会
25+阅读 · 2017年9月8日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
Arxiv
24+阅读 · 2021年1月25日
Arxiv
35+阅读 · 2019年11月7日
VIP会员
相关VIP内容
多标签学习的新趋势(2020 Survey)
专知会员服务
41+阅读 · 2020年12月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
107+阅读 · 2020年5月3日
2019年机器学习框架回顾
专知会员服务
35+阅读 · 2019年10月11日
Yoshua Bengio,使算法知道“为什么”
专知会员服务
7+阅读 · 2019年10月10日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
相关资讯
CCF推荐 | 国际会议信息8条
Call4Papers
9+阅读 · 2019年5月23日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
Ray RLlib: Scalable 降龙十八掌
CreateAMind
9+阅读 · 2018年12月28日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
【推荐】树莓派/OpenCV/dlib人脸定位/瞌睡检测
机器学习研究会
9+阅读 · 2017年10月24日
【推荐】RNN/LSTM时序预测
机器学习研究会
25+阅读 · 2017年9月8日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
Top
微信扫码咨询专知VIP会员