Flow Stealer: lightweight load balancing by stealing flows in distributed SDN controllers

Software-defined networking (SDN) introduces centralized controllers to increase network programmability drastically. Distributed control planes, in which multiple SDN controllers work together to manage a network, have been proposed to satisfy the requirements of large-scale networks, and different kinds of load-balancing approaches have been proposed to balance the workloads among these controllers. Current load-balancing approaches generally use switch migration, which adjusts the mapping between switches and controllers dynamically according to controller workloads. These switch migration-based approaches face challenges under burst traffic as a result of their overhead and longer detection periods. This paper proposes Flow Stealer, a lightweight load-balancing method for distributed SDN controllers. Flow Stealer uses a low-cost flow-stealing method, in which idle controllers share workloads temporarily with overloaded controllers by stealing flow events from them. The flow-stealing method not only can react to changes of network traffic more quickly, but can also reduce the frequency of switch migration. In addition, Flow Stealer incorporates both flow stealing and switch migration to adapt to burst traffic and long-term traffic changes. Experimental results show that Flow Stealer can balance the workloads among controllers more efficiently, especially under burst traffic.摘要创新点: 软件定义网络(SDN)提出了集中式的控制器,极大地提高了网络可编程性。为了满足大规模网络的需求,现有研究提出了分布式SDN控制层。其中,多个控制器协同工作,共同实现对网络的管理。为了均衡分布式控制层中控制器的负载,多种负载均衡算法被提出。当前的负载均衡算法通常使用交换机迁移的方式进行实现,即根据控制器的负载情况,动态地调整交换机与控制器之间的映射关系。由于开销、检测周期等问题,当网络发生突发流量时,这些基于交换机迁移的方法将面临挑战。本文提出了Flow Stealer,一种轻量级负载均衡方法,均衡控制器间的负载。Flow Stealer使用一种低开销的flow stealing方法,该方法可以使空闲的控制器通过窃取超载控制器中的流事件,临时地分担超载控制器的负载。flow stealing方法不仅可以及时地响应网络流量变化,而且可以降低交换机迁移的频率。另外,Flow Stealer将flow stealing方法与交换机迁移方法相互结合,同时满足突发流量以及长期流量变化的处理需求。实验结果显示,Flow Stealer可以有效地均衡控制器之间的负载,尤其是在突发流量的情况下。

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

[2]  Mohamed Faten Zhani,et al.  Dynamic Controller Provisioning in Software Defined Networks , 2013, Proceedings of the 9th International Conference on Network and Service Management (CNSM 2013).

[3]  Aaron Gember,et al.  Pratyaastha: an efficient elastic distributed SDN control plane , 2014, HotSDN.

[4]  David A. Maltz,et al.  Network traffic characteristics of data centers in the wild , 2010, IMC '10.

[5]  Bradley C. Kuszmaul,et al.  Cilk: an efficient multithreaded runtime system , 1995, PPOPP '95.

[6]  Xirong Que,et al.  BalanceFlow: Controller load balancing for OpenFlow networks , 2012, 2012 IEEE 2nd International Conference on Cloud Computing and Intelligence Systems.

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

[8]  Robert D. Blumofe,et al.  Scheduling multithreaded computations by work stealing , 1994, Proceedings 35th Annual Symposium on Foundations of Computer Science.

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

[10]  Fang Hao,et al.  Towards an elastic distributed SDN controller , 2013, HotSDN '13.

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

[12]  Chuck Pheatt,et al.  Intel® threading building blocks , 2008 .

[13]  H. Jonathan Chao,et al.  Use of devolved controllers in data center networks , 2011, 2011 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS).

[14]  Mathieu Bouet,et al.  DISCO: Distributed multi-domain SDN controllers , 2013, 2014 IEEE Network Operations and Management Symposium (NOMS).

[15]  Limin Xiao,et al.  A Load Balancing Strategy of SDN Controller Based on Distributed Decision , 2014, 2014 IEEE 13th International Conference on Trust, Security and Privacy in Computing and Communications.

[16]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.