29 Oct 2015

Beehive: Towards a Simple Abstraction for Scalable Software Defined Networking

ABSTRACT — SDN controllers turn into distributed systems due to performance and reliability limitations, and the supposedly simple control applications transform into complex logics that demand significant effort to design and optimize… …

We propose a programming abstraction for the control plane that is similar to centralized controllers yet enables us to automatically infer important characteristics of control applications, including their interdependencies and how they maintain their state.

existing distributed control platforms do not hide the complexities in realizing a scalable control plane and pass on many design and scalability challenges to network programmers.

2. ABSTRACTION

challenging steps in transforming a centralized application into its distributed identical twin is finding a distribution mechanism for the application’s state that preserves the application’s behavior

6. discussion

How does Beehive compare with existing proposals?
Existing distributed controllers focus on tools for distributed programming (e.g., an eventually consistent network graph in ONIX [11])
Do applications interplay well in Beehive?
In a large-scale network, the control plane is an ensemble of control applications managing the network as a cohesive whole.
Can’t we simply use a distributed database?
Recent distributed control platforms delegate the complexity of managing the state to an external system (e.g., Cassandra [12] and RamCloud [17] in ONOS [3]) which leads into a simpler control platform.