Motivated by applications in job scheduling, queuing networks, and load balancing in cyber-physical systems, we develop and analyze a game-theoretic framework to balance the load among servers in both static and dynamic settings. In these applications, jobs/tasks are often held by selfish entities that do not want to coordinate with each other, yet the goal is to balance the load among servers in a distributed manner. First, we provide a static game formulation in which each player holds a job with a certain processing requirement and wants to schedule it fractionally among a set of heterogeneous servers to minimize its average processing time. We show that this static game is a potential game and admits a pure Nash equilibrium (NE). In particular, the best-response dynamics converge to such an NE after $n$ iterations, where $n$ is the number of players. We then extend our results to a dynamic game setting, where jobs arrive and get processed in the system, and players observe the load (state) on the servers to decide how to schedule their jobs among the servers in order to minimize their averaged cumulative processing time. In this setting, we show that if the players update their strategies using dynamic best-response strategies, the system eventually becomes fully load-balanced and the players' strategies converge to the pure NE of the static game. In particular, we show that the convergence time scales only polynomially with respect to the game parameters. Finally, we provide numerical results to evaluate the performance of our proposed algorithms under both static and dynamic settings.
翻译:暂无翻译