Load Balancing in the Presence of Services in Named-Data Networking

Dima Mansour, Haidar Osman, Christian Tschudin
2019 Journal of Network and Systems Management  
Load balancing is a mechanism to distribute client requests among several service instances. It enables resource utilization, lowers response time, and increases user satisfaction. In Named-Data Networking (NDN) and NDN-like architectures, load balancing becomes crucial when dynamic services are present, where relying solely on forwarding strategies can overload certain service instances while others are underutilized especially with the limited benefit of on-path caching when it comes to
more » ... es. To understand the challenges and opportunities of load balancing in NDN, we analyze conventional load balancing in IP networks, and three closely related fields in NDN: congestion control, forwarding strategies, and data center management. We identify three possible scenarios for load balancing in NDN: facade load balancer, controller for Interest queues, and router-based load balancing. These different solutions use different metrics to identify the load on replicas, have different compliance levels with NDN, and place the load balancing functionality in different network components. From our findings, we propose and implement a new lightweight router-based load balancing approach called the communicating vessels and experimentally show how it reduces service response time and senses server capabilities without probing. sages over ordinary NDN channels while hybrid solutions can use NDN and IP networks at the same time. 3. Location: This dimension is concerned with the network component that is responsible for the load balancing functionality. Each option in each of these dimensions presents its own difficulties, opportunities, and limitations. Also a decision in one dimension can affect the options in the other dimensions. Communicating Vessels Three possibilities emerge out of our investigation. The first one is to place the load balancing functionality in all routers. In this case, load balancing becomes more of a forwarding strategy. The second possibility is a facade load balancer that accepts all incoming requests and then forwards them to service replicas based on pre-acquired knowledge about their state. The third possibility is to have a controller that balances job queues in service replicas in a postmortem fashion without interfering with the forwarding of requests. Evaluating the advantages and disadvantages of these scenarios, we propose and implement the communicating vessels, a new approach that places the load balancing functionality in the routers and uses job queue size as a metric for making forwarding decisions in order to balance the load on service replicas. Communicating vessels is implemented in PiCN [11] which adopts the basic architecture and communication model of NDN. We experimentally evaluate our new approach and show how ComVes leads to optimal load balancing in a simple network topology, and to near-optimal load balancing in a complex network topology without having to probe the network. Contributions of the Paper The main contributions of this paper are: 1. A survey of domains closely related to load balancing in NDN. 2. A taxonomy of the design dimensions of a load balancing approach in NDN. 3. The design, implementation, and evaluation of a new load balancing approach called the communicating vessels. Structure of the paper The organization of this paper follows directly the process of building a new system; from understanding the problem and evaluating potential options, to designing and implementing a new approach. After we explain the necessary concepts in NDN and motivate our work in Sect. 2, we delve into related domains in search of potentials. We survey the main approaches in load balancing over IP networks (Sect. 3), congestion control (Sect. 4), forwarding strategies (Sect. 5), and data center management in NDN (Sect. 6). In Sect. 7, we combine the insights and ideas gathered
doi:10.1007/s10922-019-09507-x fatcat:p2mg6cohxjaktfb5v4anbyzpqu