Joining the shortest or least loaded queue among $d$ randomly selected queues are two fundamental load balancing policies. Under both policies the dispatcher does not maintain any information on the queue length or load of the servers. In this paper we analyze the performance of these policies when the dispatcher has some memory available to store the ids of some of the idle servers. We consider methods where the dispatcher discovers idle servers as well as methods where idle servers inform the dispatcher about their state. We focus on large-scale systems and our analysis uses the cavity method. The main insight provided is that the performance measures obtained via the cavity method for a load balancing policy {\it with} memory reduce to the performance measures for the same policy {\it without} memory provided that the arrival rate is properly scaled. Thus, we can study the performance of load balancers with memory in the same manner as load balancers without memory. In particular this entails closed form solutions for joining the shortest or least loaded queue among $d$ randomly selected queues with memory in case of exponential job sizes. Moreover, we obtain a simple closed form expression for the (scaled) expected waiting time as the system tends towards instability. We present simulation results that support our belief that the approximation obtained by the cavity method becomes exact as the number of servers tends to infinity.
翻译:在随机选择的$d 队列中加入最短或最不全的队列是两个基本的负载平衡政策。 在这两种政策中,调度者不保留关于队列长度或服务器负载的任何信息。 在本文中, 当调度者有一定的内存可以存储一些闲置服务器的代号时, 我们分析这些政策的性能。 我们考虑调度者发现闲置服务器的方法, 以及闲置服务器告知调度者其状态的方法。 我们侧重于大型系统, 我们的分析使用空格方法。 我们提供的主要洞察力是, 通过空格方法为负载平衡政策而获得的性能措施 。 与 内存相比, 将内存减为同一政策 的内存的性能措施 。 在适当缩放率的情况下, 我们分析这些政策的性能。 因此, 我们可以以与无记忆的负载平衡器的相同的方式研究负载器的性能。 特别是要采用封闭的形式解决方案, 加入最短或最小的排队列, 以记忆方式选择的排队列, 以指数大小为单位 。 此外, 我们获得了一个简单的封闭式表达式表达形式, 我们的表达, 我们的状态会成为了模拟的状态,,, 以正变变变变的系统会决定着, 。