Load balancing on distributed datastore in opendaylight SDN controller cluster
Taehong Kim, Seong Gon Choi, Jungho Myung, Chang‐Gyu Lim · 2017
SDN controller platforms have supported clustering architecture to meet high scalability and availability requirements for large scale carrier grade networks. As a well-known open source project, OpenDaylight provides a clustering and distributed datastore architecture. Datastore is distributed into shards such that a subset of shard can be located in any cluster member. To guarantee strong consistency of datastore that all shard replicas have same value, only the shard leader has responsibility for accepting data updates. Even though OpenDaylight supports a distributed shard leader election algorithm, the elected leaders are not distributed over cluster members due to the lack of centralized control. This results in an unbalanced CPU and network usage of the controller cluster. In this paper, we review the current status of the leader election algorithm for OpenDaylight controller cluster. Then, we propose a shard leader distribution algorithm to fully utilize the distributed datastore. The performance evaluations prove that shard leader distribution enhances the aggregated datastore throughput by distributing the requests for data updates to the distributed datastore.