Publication | Closed Access
Beehive
37
Citations
26
References
2016
Year
Unknown Venue
Cluster ComputingOpenflow MessagesEngineeringDistributed ComputingSoftware-defined NetworkingEdge ComputingDistributed MiddlewareCloud ComputingDistributed EnvironmentSystems EngineeringDistributed SystemsComputer ScienceControl PlatformSystem SoftwareSdn ControllerDistributed Processing
In this paper, we present the design and implementation of Beehive, a distributed control platform with a simple programming model. In Beehive, control applications are centralized asynchronous message handlers that optionally store their state in dictionaries. Beehive's control platform automatically infers the keys required to process a message, and guarantees that each key is only handled by one light-weight thread of execution (i.e., bee) among all controllers (i.e., hives) in the platform. With that, Beehive transforms a centralized application into a distributed system, while preserving the application's intended behavior. Beehive replicates the dictionaries of control applications consistently through mini-quorums (i.e., colonies), instruments applications at runtime, and dynamically changes the placement of control applications (i.e., live migrates bees) to optimize the control plane. Our implementation of Beehive is open source, high-throughput and capable of fast failovers. We have implemented an SDN controller on top of Beehive that can handle 200K of OpenFlow messages per machine, while persisting and replicating the state of control applications. We also demonstrate that, not only can Beehive tolerate faults, but also it is capable of optimizing control applications after a failure or a change in the workload.
| Year | Citations | |
|---|---|---|
Page 1
Page 1