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… …
beehive, a distributed control platform aiming at simplifying this process
enables the platform to automatically infer how applications maintain their state and depend on one another
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.