RuleTris: Minimizing Rule Update Latency for TCAM-Based SDN Switches

Software-dehned network (SDN) is deemed to enable more dynamic management of data center networks that promptly respond to network events with changes in network policies. Although the SDN controller architecture is increasingly optimized for swift policy updates, the data plane, especially the prevailing TCAM-based flow tables on physical SDN switches, remains unoptimized for fast rule updates, and is gradually becoming the primary bottleneck along the policy update pipeline. In this paper, we present RuleTris, the hrst SDN update optimization framework that minimizes rule update latency for TCAM-based switches. RuleTris employs the dependency graph (DAG) as the key abstraction to minimize the update latency. RuleTris efhciently obtains the DAGs with novel dependency preserving algorithms that incrementally build rule dependency along with the compilation process. Then, in the guidance of the DAG, RuleTris optimizes the rule updates in TCAM to avoid unnecessary entry moves, which are the main cause of TCAM update inefhciency. We prove that RuleTris generates TCAM updates with the minimum number of TCAM entry moves. In evaluation, RuleTris achieves a median of <;12ms and 90-percentile of <;15ms the end-to-end per-rule update latency on our hardware prototype, outperforming the state-of-the-art composition compiler CoVisor by ~20 times.

[1]  Xin Huang,et al.  Tango: Simplifying SDN Control with Automatic Switch Property Inference, Abstraction, and Optimization , 2014, CoNEXT.

[2]  Deborah Brungard,et al.  Requirements of an MPLS Transport Profile , 2009, RFC.

[3]  K. Pagiamtzis,et al.  Content-addressable memory (CAM) circuits and architectures: a tutorial and survey , 2006, IEEE Journal of Solid-State Circuits.

[4]  Haoyu Song,et al.  NXG05-2: Fast Filter Updates for Packet Classification using TCAM , 2006, IEEE Globecom 2006.

[5]  Xin Jin,et al.  CoVisor: A Compositional Hypervisor for Software-Defined Networks , 2015, NSDI.

[6]  David Walker,et al.  Abstractions for network update , 2012, SIGCOMM '12.

[7]  Ji Yang,et al.  Design of All Programable Innovation Platform for Software Defined Networking , 2014, ONS.

[8]  Antonius P. J. Engbersen,et al.  Fast and scalable packet classification , 2003, IEEE J. Sel. Areas Commun..

[9]  David Walker,et al.  Frenetic: a network programming language , 2011, ICFP.

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

[11]  Sartaj Sahni,et al.  DUOS - Simple dual TCAM architecture for routing tables with incremental update , 2010, The IEEE symposium on Computers and Communications.

[12]  WalkerDavid,et al.  A compiler and run-time system for network programming languages , 2012 .

[13]  Bo Yang,et al.  Compiling minimum incremental update for modular SDN languages , 2014, HotSDN.

[14]  Amin Vahdat,et al.  Hedera: Dynamic Flow Scheduling for Data Center Networks , 2010, NSDI.

[15]  Nate Foster,et al.  NetKAT: semantic foundations for networks , 2014, POPL.

[16]  Jonathan S. Turner,et al.  ClassBench: A Packet Classification Benchmark , 2005, IEEE/ACM Transactions on Networking.

[17]  Marina Thottan,et al.  Mazu: Taming Latency in Software Defined Networks , 2014 .

[18]  David Walker,et al.  Composing Software Defined Networks , 2013, NSDI.

[19]  Maciej Kuźniar,et al.  What You Need to Know About SDN Flow Tables , 2015, PAM.

[20]  Srikanth Kandula,et al.  Achieving high utilization with software-driven WAN , 2013, SIGCOMM.

[21]  Xin Jin,et al.  Dynamic scheduling of network updates , 2014, SIGCOMM.

[22]  David Walker,et al.  A compiler and run-time system for network programming languages , 2012, POPL '12.

[23]  Paul Hudak,et al.  Maple: simplifying SDN programming using algorithmic policies , 2013, SIGCOMM.

[24]  Xin Wu,et al.  zUpdate: updating data center networks with zero loss , 2013, SIGCOMM.

[25]  David Walker,et al.  Incremental consistent updates , 2013, HotSDN '13.

[26]  Devavrat Shah,et al.  Fast Updating Algorithms for TCAMs , 2001, IEEE Micro.