Online Reprogrammable Multi Tenant Switches

Recent research shows many benefits for cloud workloads and network operations when putting software functionality onto switches. Sharing the physical resources of a programmable switch between multiple tenants and workloads enables the widespread deployment of on-switch software functionality. Currently, changing the program on a programmable switch incurs significant switch downtime, connectivity loss, and service interruption. We, therefore propose a modification to the common programmable switch architecture to enable hot-pluggability, the ability to insert, modify, and remove on-path software functionality without interrupting the network operation. With hot-pluggability, a programmable switch can be shared between applications of different on-switch lifetime and therefore also between different tenants. Such sharing requires performance and program isolation between different on-switch functions and tenants. Our proposal makes on-switch software functionality deployable within production networks and enables programmable switches to be offered as a service to multiple tenants within cloud and ISP networks.

[1]  Xiaozhou Li,et al.  NetChain: Scale-Free Sub-RTT Coordination , 2018, NSDI.

[2]  Jan Rüth,et al.  Towards Executing Computer Vision Functionality on Programmable Network Devices , 2019, ENCP '19.

[3]  Mohan Kumar,et al.  CoPTUA: Consistent Policy Table Update Algorithm for TCAM without locking , 2004, IEEE Transactions on Computers.

[4]  Jacob Nelson,et al.  When Should The Network Be The Computer? , 2019, HotOS.

[5]  Fernando Pedone,et al.  The Case For In-Network Computing On Demand , 2019, EuroSys.

[6]  Nick McKeown,et al.  The P4->NetFPGA Workflow for Line-Rate Packet Processing , 2019, FPGA.

[7]  Adrian M. Caulfield,et al.  Beyond SmartNICs: Towards a Fully Programmable Cloud , 2018 .

[8]  George Varghese,et al.  Forwarding metamorphosis: fast programmable match-action processing in hardware for SDN , 2013, SIGCOMM.

[9]  S. Muthukrishnan,et al.  Heavy-Hitter Detection Entirely in the Data Plane , 2016 .

[10]  Philippe Cudré-Mauroux,et al.  The Case for Network Accelerated Query Processing , 2019, CIDR.

[11]  Klaus Wehrle,et al.  A Case for Integrated Data Processing in Large-Scale Cyber-Physical Systems , 2019, HICSS.

[12]  George Varghese,et al.  P4: programming protocol-independent packet processors , 2013, CCRV.

[13]  Fernando Pedone,et al.  NetPaxos: consensus at network speed , 2015, SOSR.

[14]  Panos Kalnis,et al.  Scaling Distributed Machine Learning with In-Network Aggregation , 2019, NSDI.

[15]  Fernando Pedone,et al.  Consensus for Non-volatile Main Memory , 2018, 2018 IEEE 26th International Conference on Network Protocols (ICNP).

[16]  Andreas Koch,et al.  A Dynamically Reconfigured Network Platform for High-Speed Malware Collection , 2010, 2010 International Conference on Reconfigurable Computing and FPGAs.

[17]  Kushagra Vaid,et al.  Azure Accelerated Networking: SmartNICs in the Public Cloud , 2018, NSDI.

[18]  Panos Kalnis,et al.  In-Network Computation is a Dumb Idea Whose Time Has Come , 2017, HotNets.

[19]  Jialin Li,et al.  Just Say NO to Paxos Overhead: Replacing Consensus with Network Ordering , 2016, OSDI.

[20]  Fernando Pedone,et al.  Paxos Made Switch-y , 2015, CCRV.

[21]  Vladimir Braverman,et al.  One Sketch to Rule Them All: Rethinking Network Flow Monitoring with UnivMon , 2016, SIGCOMM.

[22]  Anja Feldmann,et al.  Stellar: network attack mitigation using advanced blackholing , 2018, CoNEXT.

[23]  Minlan Yu,et al.  SilkRoad: Making Stateful Layer-4 Load Balancing Fast and Cheap Using Switching ASICs , 2017, SIGCOMM.

[24]  Jan Rüth,et al.  Towards In-Network Industrial Feedback Control , 2018, NetCompute@SIGCOMM.

[25]  Nate Foster,et al.  NetCache: Balancing Key-Value Stores with Fast In-Network Caching , 2017, SOSP.

[26]  Jacobus E. van der Merwe,et al.  HyPer4: Using P4 to Virtualize the Programmable Data Plane , 2016, CoNEXT.

[27]  Xiang Wang,et al.  ParaSplit: A Scalable Architecture on FPGA for Terabit Packet Classification , 2012, 2012 IEEE 20th Annual Symposium on High-Performance Interconnects.

[28]  Jianping Wu,et al.  HyperVDP: High-Performance Virtualization of the Programmable Data Plane , 2019, IEEE Journal on Selected Areas in Communications.

[29]  Monia Ghobadi,et al.  Beyond SmartNICs: Towards a Fully Programmable Cloud: Invited Paper , 2018, 2018 IEEE 19th International Conference on High Performance Switching and Routing (HPSR).

[30]  Arpit Gupta,et al.  Network-Wide Heavy Hitter Detection with Commodity Switches , 2018, SOSR.

[31]  Hiroki Matsutani,et al.  LaKe: The Power of In-Network Computing , 2018, 2018 International Conference on ReConFigurable Computing and FPGAs (ReConFig).

[32]  Amin Vahdat,et al.  Democratizing the Network Edge , 2019, CCRV.

[33]  Chengchen Hu,et al.  P4Visor: lightweight virtualization and composition primitives for building and testing modular programs , 2018, CoNEXT.

[34]  Wolfgang Kellerer,et al.  Survey on Network Virtualization Hypervisors for Software Defined Networking , 2015, IEEE Communications Surveys & Tutorials.

[35]  Andrew W. Moore,et al.  NetFPGA SUME: Toward 100 Gbps as Research Commodity , 2014, IEEE Micro.

[36]  Nick McKeown,et al.  OpenFlow: enabling innovation in campus networks , 2008, CCRV.

[37]  David L. Tennenhouse,et al.  Towards an active network architecture , 2007, Comput. Commun. Rev..

[38]  Robert Soulé,et al.  Fast String Searching on PISA , 2019, SOSR.

[39]  Alexander L. Wolf,et al.  NetAgg: Using Middleboxes for Application-specific On-path Aggregation in Data Centres , 2014, CoNEXT.

[40]  David Wetherall,et al.  Towards an active network architecture , 1996, CCRV.