An efficient pipeline processing scheme for programming Protocol-independent Packet Processors

Abstract OpenFlow is unable to provide customized flow tables, resulting in memory explosions and high switch retirement rates. This is the bottleneck for the development of SDN. Recently, P4 (Programming Protocol-independent Packet Processors) attracts much attentions from both academia and industry. It provides customized networking services by offering flow-level control. P4 can “produce” various forwarding tables according to packets. P4 increases the speed of custom ASICs. However, with the prevalence of P4, the multiple forwarding tables could explode when used in large scale networks. The explosion problem can slow down the lookup speed, which causes congestions and packet losses. In addition, the pipelined structure of forwarding tables brings additional processing delay. In this study, we will improve the lookup performance by optimizing the forwarding tables of P4. Intuitively, we will install the rules according to their popularity, i.e., the popular rules will appear earlier than others. Thus, the packets can hit the matched rule sooner. In this paper, we formalize the optimization problem, and prove that the problem is NP-hard. To solve the problem, we propose a heuristic algorithm called EPSP (Efficient Pipeline Processing Scheme for P4), which can largely reduce the lookup time while keeping the forwarding actions the same. Because running the optimization algorithm frequently brings additional processing burdens, wedesign an incremental update algorithm to alleviate this problem. To evaluate the proposed algorithms, we set up the simulation environments based on ns-3. The simulation results show that the algorithm greatly reduces both the lookup time and the number of memory accesses. The incremental algorithm largely reduces the processing burdens while the lookup time remains almost the same with the non-incremental algorithm. We also implemented a prototype using floodlight and mininet. The results show that our algorithm brings acceptable burder, and performs better than traditional algorithm.

[1]  Zhi Chen,et al.  A New Lookup Model for Multiple Flow Tables of Open Flow with Implementation and Optimization Considerations , 2014, 2014 IEEE International Conference on Computer and Information Technology.

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

[3]  Seo-Young Noh,et al.  AmoebaNet: An SDN-enabled network service for big data science , 2018, J. Netw. Comput. Appl..

[4]  Tuomas Sandholm,et al.  Compressing Two-Dimensional Routing Tables , 2003, Algorithmica.

[5]  Shinji Kobayashi,et al.  DomainFlow: practical flow management method using multiple flow tables in commodity switches , 2013, CoNEXT.

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

[7]  Marco Canini,et al.  Evolution of Cache Replacement Policies to Track Heavy-Hitter Flows , 2011, PAM.

[8]  T. S. Eugene Ng,et al.  Software-Defined Flow Table Pipeline , 2015, 2015 IEEE International Conference on Cloud Engineering.

[9]  Magnos Martinello,et al.  FlexForward: Enabling an SDN manageable forwarding engine in Open vSwitch , 2014, 10th International Conference on Network and Service Management (CNSM) and Workshop.

[10]  Guilherme Carvalho Januario,et al.  Orchestration of energy efficiency capabilities in networks , 2016, J. Netw. Comput. Appl..

[11]  Thierry Turletti,et al.  Optimizing rules placement in OpenFlow networks: trading routing for better efficiency , 2014, HotSDN.

[12]  Alan L. Cox,et al.  PAST: scalable ethernet for data centers , 2012, CoNEXT '12.

[13]  Shu Yang,et al.  An Efficiency Pipeline Processing Approach for OpenFlow Switch , 2016, 2016 IEEE 41st Conference on Local Computer Networks (LCN).

[14]  Abderrahim Benslimane,et al.  Dynamic anchor points selection for mobility management in Software Defined Networks , 2015, J. Netw. Comput. Appl..

[15]  M. Shamim Hossain,et al.  A software defined network routing in wireless multihop network , 2017, J. Netw. Comput. Appl..

[16]  Wenjuan Li,et al.  A survey on OpenFlow-based Software Defined Networks: Security challenges and countermeasures , 2016, J. Netw. Comput. Appl..

[17]  Zhi Chen,et al.  H‐SOFT: a heuristic storage space optimisation algorithm for flow table of OpenFlow , 2015, Concurr. Comput. Pract. Exp..

[18]  Xin Wu,et al.  Flowshadow: a fast path for uninterrupted packet processing in SDN switches , 2015, 2015 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).

[19]  Jia Wang,et al.  Scalable flow-based networking with DIFANE , 2010, SIGCOMM '10.

[20]  Isaac Keslassy,et al.  Palette: Distributing tables in software-defined networks , 2013, 2013 Proceedings IEEE INFOCOM.

[21]  Yonggang Wen,et al.  “ A Survey of Software Defined Networking , 2020 .

[22]  Yves Lemieux,et al.  A 100Gig network processor platform for openflow , 2011, 2011 7th International Conference on Network and Service Management.

[23]  Anja Feldmann,et al.  Leveraging Zipf's law for traffic offloading , 2012, CCRV.

[24]  Myung-Ki Shin,et al.  A multiple flow tables construction scheme for service function chaining in NFV , 2015, 2015 International Conference on Information and Communication Technology Convergence (ICTC).

[25]  Yi-Bing Lin,et al.  High-speed data-plane packet aggregation and disaggregation by P4 switches , 2019, J. Netw. Comput. Appl..

[26]  Song Guo,et al.  Multi-flow oriented packets scheduling in OpenFlow enabled networks , 2015, 2015 IEEE International Conference on Communications (ICC).

[27]  Kai Gao,et al.  Trident: toward a unified SDN programming framework with automatic updates , 2018, SIGCOMM.

[28]  Feng Liu,et al.  AuTO: scaling deep reinforcement learning for datacenter-scale automatic traffic optimization , 2018, SIGCOMM.

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

[30]  David Walker,et al.  Optimizing the "one big switch" abstraction in software-defined networks , 2013, CoNEXT.

[31]  Syed Obaid Amin,et al.  Efficient FIB caching using minimal non-overlapping prefixes , 2013, CCRV.

[32]  David Walker,et al.  Infinite CacheFlow in software-defined networks , 2014, HotSDN.

[33]  Ali Ghaffari,et al.  Software defined networks: A survey , 2016, J. Netw. Comput. Appl..

[34]  Lan Wang,et al.  Efficient FIB caching using minimal non-overlapping prefixes , 2015, Comput. Networks.

[35]  Luiz Fernando Bittencourt,et al.  A combined energy-bandwidth approach to allocate resilient virtual software defined networks , 2016, J. Netw. Comput. Appl..

[36]  Sujata Banerjee,et al.  DevoFlow: scaling flow management for high-performance networks , 2011, SIGCOMM 2011.