SPEED: Resource-Efficient and High-Performance Deployment for Data Plane Programs

Programmable switches allow network administrators to customize packet processing behaviors in data plane programs. However, existing solutions for program deployment fail to achieve resource efficiency and high packet processing performance. In this paper, we propose SPEED, a system that provides resource-efficient and high-performance deployment for data plane programs. For resource efficiency, SPEED merges input data plane programs by reducing program redundancy. Then it abstracts the substrate network into an one big switch (OBS), and deploys the merged program on the OBS while minimizing resource usage. For high performance, SPEED searches for the performance-optimal mapping between the OBS and the substrate network with respect to network-wide constraints. It also maintains program logics among different switches via inter-device packet scheduling. We have implemented SPEED on a Barefoot Tofino switch. The evaluation indicates that SPEED achieves resource-efficient and high-performance deployment for real data plane programs.

[1]  George Varghese,et al.  Compiling Packet Programs to Reconfigurable Switches , 2015, NSDI.

[2]  Rob Sherwood,et al.  The controller placement problem , 2012, HotSDN '12.

[3]  Wei Bai,et al.  OmniMon: Re-architecting Network Telemetry with Resource Efficiency and Full Accuracy , 2020, SIGCOMM.

[4]  Raouf Boutaba,et al.  ViNEYard: Virtual Network Embedding Algorithms With Coordinated Node and Link Mapping , 2012, IEEE/ACM Transactions on Networking.

[5]  Edward G. Coffman,et al.  Approximation algorithms for bin packing: a survey , 1996 .

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

[7]  Jon M. Kleinberg,et al.  Approximation algorithms for disjoint paths problems , 1996 .

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

[9]  Walter Willinger,et al.  Sonata: query-driven streaming network telemetry , 2018, SIGCOMM.

[10]  Minlan Yu,et al.  Software Defined Traffic Measurement with OpenSketch , 2013, NSDI.

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

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

[13]  Alberto Dainotti,et al.  Blink: Fast Connectivity Recovery Entirely in the Data Plane , 2019, NSDI.

[14]  Patrick P. C. Lee,et al.  MV-Sketch: A Fast and Compact Invertible Sketch for Heavy Flow Detection in Network Data Streams , 2019, IEEE INFOCOM 2019 - IEEE Conference on Computer Communications.

[15]  Daniel Raumer,et al.  MoonGen: A Scriptable High-Speed Packet Generator , 2014, Internet Measurement Conference.

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

[17]  Patrick P. C. Lee,et al.  LD-Sketch: A distributed sketching design for accurate and scalable anomaly detection in network data streams , 2014, IEEE INFOCOM 2014 - IEEE Conference on Computer Communications.

[18]  Peng Liu,et al.  Elastic sketch: adaptive and fast network-wide measurements , 2018, SIGCOMM.

[19]  Patrick P. C. Lee,et al.  SpreadSketch: Toward Invertible and Network-Wide Detection of Superspreaders , 2020, IEEE INFOCOM 2020 - IEEE Conference on Computer Communications.

[20]  Yu Zhou,et al.  HyperV: A High Performance Hypervisor for Virtualization of the Programmable Data Plane , 2017, 2017 26th International Conference on Computer Communication and Networks (ICCCN).

[21]  Patrick P. C. Lee,et al.  A hybrid local and distributed sketching design for accurate and scalable heavy key detection in network data streams , 2015, Comput. Networks.

[22]  Smruti R. Sarangi,et al.  Theoretical Framework for Eliminating Redundancy in Workflows , 2009, 2009 IEEE International Conference on Services Computing.

[23]  Yonggang Wen,et al.  Toward profit-seeking virtual network embedding algorithm via global resource capacity , 2014, IEEE INFOCOM 2014 - IEEE Conference on Computer Communications.

[24]  Kai Gao,et al.  Precedence: Enabling Compact Program Layout By Table Dependency Resolution , 2019, SOSR.

[25]  Alvin Cheung,et al.  Packet Transactions: High-Level Programming for Line-Rate Switches , 2015, SIGCOMM.

[26]  Chen Sun,et al.  NFP: Enabling Network Function Parallelism in NFV , 2017, SIGCOMM.

[27]  Kun Qian,et al.  FlexGate: High-performance Heterogeneous Gateway in Data Centers , 2019, APNet.

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

[29]  Graham Cormode,et al.  An improved data stream summary: the count-min sketch and its applications , 2004, J. Algorithms.

[30]  Jennifer Rexford,et al.  HULA: Scalable Load Balancing Using Programmable Data Planes , 2016, SOSR.

[31]  Ramesh Govindan,et al.  SCREAM: sketch resource allocation for software-defined measurement , 2015, CoNEXT.

[32]  Clifford Stein,et al.  Improved approximation algorithms for unsplittable flow problems , 1997, Proceedings 38th Annual Symposium on Foundations of Computer Science.

[33]  Taegyun Kim,et al.  Autogenerating Fast Packet-Processing Code Using Program Synthesis , 2019, HotNets.

[34]  Yongqiang Xiong,et al.  ClickNP: Highly Flexible and High Performance Network Processing with Reconfigurable Hardware , 2016, SIGCOMM.

[35]  R. Marler,et al.  The weighted sum method for multi-objective optimization: new insights , 2010 .

[36]  Ramesh Govindan,et al.  DREAM , 2014, SIGCOMM.

[37]  Patrick P. C. Lee,et al.  Sketchlearn: relieving user burdens in approximate measurement with automated statistical inference , 2018, SIGCOMM.

[38]  Srinivasan Seshan,et al.  Generic External Memory for Switch Data Planes , 2018, HotNets.

[39]  Anirudh Sivaraman,et al.  Language-Directed Hardware Design for Network Performance Monitoring , 2017, SIGCOMM.

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

[41]  Minlan Yu,et al.  FlowRadar: A Better NetFlow for Data Centers , 2016, NSDI.

[42]  Min Zhu,et al.  B4: experience with a globally-deployed software defined wan , 2013, SIGCOMM.

[43]  Xiang Cheng,et al.  Virtual network embedding through topology-aware node ranking , 2011, CCRV.

[44]  Diana Andreea Popescu,et al.  Characterizing the impact of network latency on cloud-based applications’ performance , 2017 .

[45]  Ariel Orda,et al.  dRMT: Disaggregated Programmable Switching , 2017, SIGCOMM.

[46]  Raouf Boutaba,et al.  A survey of network virtualization , 2010, Comput. Networks.

[47]  Sujata Banerjee,et al.  P5: Policy-driven optimization of P4 pipeline , 2017, SOSR.

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

[49]  Hang Zhu,et al.  Multitenancy for Fast and Programmable Networks in the Cloud , 2020, HotCloud.

[50]  Kai Zhu,et al.  P4SC: Towards High-Performance Service Function Chain Implementation on the P4-Capable Device , 2019, 2019 IFIP/IEEE Symposium on Integrated Network and Service Management (IM).

[51]  Minlan Yu,et al.  Rethinking virtual network embedding: substrate support for path splitting and migration , 2008, CCRV.

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

[53]  Xiang Chen,et al.  MATReduce: Towards High-Performance P4 Pipeline by Reducing Duplicate Match Operations , 2018, 2018 IEEE Global Communications Conference (GLOBECOM).

[54]  Daniel S. Hirschberg,et al.  Algorithms for the Longest Common Subsequence Problem , 1977, JACM.

[55]  Ramesh Govindan,et al.  DREAM: dynamic resource allocation for software-defined measurement , 2015, SIGCOMM 2015.