828a70865bd3dc4c.tex
1: \begin{abstract}
2: The conventional approach to scaling Software-Defined Networking (SDN) 
3: controllers today is to partition switches based on network topology, with each 
4: partition being controlled by a single physical controller, running all SDN applications.
5: However, topological partitioning is limited by the fact that
6: (i) performance of latency-sensitive (e.g., monitoring) SDN applications 
7: associated with a given partition may be impacted by co-located 
8: compute-intensive (e.g., route computation) applications; (ii) simultaneously
9: achieving low convergence time and response times might be challenging;
10: and (iii) communication between instances of an application across partitions
11: may increase latencies. To tackle these issues, in this paper, 
12: we explore  {\em functional slicing}, a complementary approach to scaling,
13: where multiple SDN applications belonging to the same topological partition 
14: may be placed in physically distinct servers. We present \textit{Hydra}, a framework 
15: for distributed SDN controllers based on functional slicing. Hydra chooses
16: partitions based on convergence time as the primary metric, but places application
17: instances across partitions in a manner that keeps response times low while
18: considering communication between applications of a partition, and instances of
19: an application across partitions. Evaluations using the Floodlight controller
20: show the importance and effectiveness of Hydra in simultaneously keeping
21: convergence times on failures small, while sustaining higher throughput per
22: partition and ensuring responsiveness to latency sensitive applications.
23: \end{abstract}
24: