Convergence of the dynamic load balancing problem to Nash equilibrium using distributed local interactions Sameena Shah a,⇑ , Ravi Kothari b a Thomson Reuters Corporate R&D, 195 Broadway, NYC, NY 10007, USA b IBM India Research Lab, 4 Block C, Institutional Area, Vasant Kunj, New Delhi 110 070, India article info Article history: Received 13 July 2009 Received in revised form 2 September 2012 Accepted 9 September 2012 Available online 24 September 2012 Keywords: Load balancing Diffusion process Nash equilibrium Distributed algorithms Agent based systems Local information abstract Load balancers distribute workload across multiple nodes based on a variation of the round robin algorithm, or a more complex algorithm that optimizes a specified objective or allows for horizontal scalability and higher availability. In this paper, we investigate whether robust load balancing can be achieved using a local co-operative mechanism between the resources (nodes). The local aspect of the mechanism implies that each node interacts with a small subset of the nodes that define its neighborhood. The co-operative aspect of the mechanism implies that a node may offload some of load to its neighbor nodes that have lesser load or accept jobs from neighbor nodes that have higher load. Each node is thus only aware of the state of its neighboring nodes and there is no central entity that has the knowledge of the state of all the nodes. We model the overall mechanism of load balancing based on local interactions as a congestion game and show that conver- gence to the Nash equilibrium is possible using only local interactions. We derive worst case bounds on the number of transfers (time) required to achieve global load balancing under this setup. We also include simulation results to demonstrate emergent global load balancing based only on local interactions and local information. Ó 2012 Elsevier Inc. All rights reserved. 1. Introduction Load balancing distributes workload across multiple resources to allow for horizontal scalability and better availability. There are a large number of situations where load balancing is useful. For example, in a distributed computing environment load balancing may occur across servers, across processors in a single server in a super-computer, across network links or other resources. Typically, a load balancer relies on global information about the state of all resources and uses this knowledge judiciously to assign a job to a resource in order to optimize a specified objective. The load balancing algorithm could be as simple as round robin (or one of it is several variants), it could be based on the content of the incoming requests (as in layer-7 load balancers), or any other variation. The specific algorithm, type of resources or exact nature of information used is not central to this paper. Our focus is on a crucial macro-level question, whether global information is required to achieve global load balancing? Our motivation for investigation of necessity of using global information to achieve global load balancing is possibly obvi- ous. Global information requires that each resource transmit its present state to the load balancer. This requires an extensive interconnect system to ensure that all nodes are able to update the state at the same time. If the interconnect topology has 0020-0255/$ - see front matter Ó 2012 Elsevier Inc. All rights reserved. http://dx.doi.org/10.1016/j.ins.2012.09.004 ⇑ Corresponding author. Tel.: +1 646 822 2246. E-mail addresses: sameena.shah@thomsonreuters.com (S. Shah), rkothari@in.ibm.com (R. Kothari). Information Sciences 221 (2013) 297–305 Contents lists available at SciVerse ScienceDirect Information Sciences journal homepage: www.elsevier.com/locate/ins