Data-plane programmability is now mainstream. As we find more use cases, deployments need to be able to run multiple packet-processing modules in a single device. These are likely to be developed by independent teams, either within the same organization or from multiple organizations. Therefore, we need isolation mechanisms to ensure that modules on the same device do not interfere with each other. This paper presents Menshen, an extension of the RMT/PISA pipeline that enforces isolation between different packet-processing modules. Menshen is comprised of a set of lightweight hardware primitives and an extension to the open source P4-16 reference compiler that act in conjunction to meet this goal. We have prototyped Menshen on two FPGA platforms (NetFPGA and Corundum). We show that our design provides isolation, and allows new modules to be loaded without impacting the ones already running. Finally, we demonstrate the feasibility of implementing our design on ASICs by using the FreePDK45nm technology library and the Synopsys DC synthesis software, showing that our design meets timing at a 1 GHz clock frequency and needs approximately 6% additional chip area. We have open sourced the code for Menshen's hardware and software at https://github.com/submission-1070.
翻译:数据- 平面编程程序现已成为主流。 当我们发现更多使用案例时, 部署需要能够在一个单一设备中运行多个包处理模块。 这些模块很可能由独立团队开发, 无论是在同一组织内部还是来自多个组织。 因此, 我们需要隔离机制来确保同一设备模块不会相互干扰。 本文展示了 Menshen, RMT/ PISA 管道的延伸, 在不同包处理模块之间实施隔离。 门申由一组轻巧的硬件原始元素组成, 并扩展至开放源的 P4-16 参考编译器, 并同时用于实现这一目标 。 我们已经在两个 FPGA 平台( NetFPGA 和 Corundum) 上做了门申的原型。 我们展示了我们的设计提供孤立, 并允许在不影响已经运行的平台的情况下装入新模块。 最后, 我们展示了使用 FreePDK45nm技术图书馆和 Synopsycls DC合成软件来实施我们关于ASD的设计的可行性, 显示我们的设计符合1GHz 钟频率的时间安排, 需要大约 6%的硬片/ 。 我们有开放源代码在 MASUDSUD/ 70 CD/ 。