On the Feasibility of a Consistent and Fault-Tolerant Data Store for SDNs

Maintaining a strongly consistent network view in a Software Defined Network has been usually proclaimed as a synonym of low performance. We disagree. To support our view, in this paper we argue that with the use of modern distributed systems techniques it is possible to build a strongly consistent, fault-tolerant SDN control framework that achieves acceptable performance. The central element of our architecture is a highly-available, strongly consistent data store. We describe a prototype implementation of a distributed controller architecture integrating the Floodlight controller with a data store implemented using a state-of-the-art replication algorithm. We evaluate the feasibility of the proposed design by analyzing the workloads of real SDN applications (a learning switch, a load balancer and a device manager) and showing that the data store is capable of handling them with adequate performance.

[1]  Jun Rao,et al.  Using Paxos to Build a Scalable, Consistent, and Highly Available Datastore , 2011, Proc. VLDB Endow..

[2]  Yashar Ganjali,et al.  HyperFlow: A Distributed Control Plane for OpenFlow , 2010, INM/WREN.

[3]  Rob Sherwood,et al.  On Controller Performance in Software-Defined Networks , 2012, Hot-ICE.

[4]  Christopher Frost,et al.  Spanner: Google's Globally-Distributed Database , 2012, OSDI.

[5]  Nick Feamster,et al.  The case for separating routing from routers , 2004, FDNA '04.

[6]  Marco Canini,et al.  FatTire: declarative fault tolerance for software-defined networks , 2013, HotSDN '13.

[7]  Peng Li,et al.  Paxos Replicated State Machines as the Basis of a High-Performance Data Store , 2011, NSDI.

[8]  Anja Feldmann,et al.  Logically centralized?: state distribution trade-offs in software defined networks , 2012, HotSDN '12.

[9]  Martín Casado,et al.  Onix: A Distributed Control Platform for Large-scale Production Networks , 2010, OSDI.

[10]  Miguel Correia,et al.  On the Efficiency of Durable State Machine Replication , 2013, USENIX Annual Technical Conference.

[11]  Nick Feamster,et al.  CORONET: Fault tolerance for Software Defined Networks , 2012, 2012 20th IEEE International Conference on Network Protocols (ICNP).

[12]  Petr Kuznetsov,et al.  Software transactional networking: concurrent and consistent policy composition , 2013, HotSDN '13.

[13]  Leslie Lamport,et al.  The part-time parliament , 1998, TOCS.

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

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

[16]  Alysson Neves Bessani,et al.  State Machine Replication for the Masses with BFT-SMART , 2014, 2014 44th Annual IEEE/IFIP International Conference on Dependable Systems and Networks.

[17]  Mahadev Konar,et al.  ZooKeeper: Wait-free Coordination for Internet-scale Systems , 2010, USENIX ATC.

[18]  Yashar Ganjali,et al.  Kandoo: a framework for efficient and scalable offloading of control applications , 2012, HotSDN '12.

[19]  B SchneiderFred Implementing fault-tolerant services using the state machine approach: a tutorial , 1990 .

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

[21]  Fred B. Schneider,et al.  Implementing fault-tolerant services using the state machine approach: a tutorial , 1990, CSUR.