We consider the sequential allocation of $m$ balls (jobs) into $n$ bins (servers) by allowing each ball to choose from some bins sampled uniformly at random. The goal is to maintain a small gap between the maximum load and the average load. In this paper, we present a general framework that allows us to analyze various allocation processes that slightly prefer allocating into underloaded, as opposed to overloaded bins. Our analysis covers several natural instances of processes, including: The Caching process (a.k.a. memory protocol) as studied by Mitzenmacher, Prabhakar and Shah (2002): At each round we only take one bin sample, but we also have access to a cache in which the most recently used bin is stored. We place the ball into the least loaded of the two. The Packing process: At each round we only take one bin sample. If the load is below some threshold (e.g., the average load), then we place as many balls until the threshold is reached; otherwise, we place only one ball. The Twinning process: At each round, we only take one bin sample. If the load is below some threshold, then we place two balls; otherwise, we place only one ball. The Thinning process as recently studied by Feldheim and Gurel-Gurevich (2021): At each round, we first take one bin sample. If its load is below some threshold, we place one ball; otherwise, we place one ball into a $\textit{second}$ bin sample. As we demonstrate, our general framework implies for all these processes a gap of $\mathcal{O}(\log n)$ between the maximum load and average load, even when an arbitrary number of balls $m \geq n$ are allocated (heavily loaded case). Our analysis is inspired by a previous work of Peres, Talwar and Wieder (2010) for the $(1+\beta)$-process, however here we rely on the interplay between different potential functions to prove stabilization.
翻译:我们考虑将$m$个球(任务)依次分配到$n$个箱子(服务器)中,每个球允许从均匀随机采样的若干箱子中选择。目标是保持最大负载与平均负载之间的差距较小。本文提出一个通用框架,用于分析各类略微偏好分配至欠载(而非过载)箱子的分配过程。我们的分析涵盖多个自然的过程实例,包括:Mitzenmacher、Prabhakar和Shah(2002)研究的缓存过程(亦称记忆协议):每轮仅采集一个箱子样本,但可访问存储最近使用箱子的缓存。我们将球放入两者中负载较小的箱子。打包过程:每轮仅采集一个箱子样本。若负载低于某阈值(如平均负载),则继续放入球直至达到该阈值;否则仅放入一个球。孪生过程:每轮仅采集一个箱子样本。若负载低于某阈值,则放入两个球;否则仅放入一个球。稀释过程(Feldheim与Gurel-Gurevich,2021年近期研究):每轮先采集一个箱子样本。若其负载低于某阈值,则放入一个球;否则将球放入$\textit{第二个}$箱子样本。我们证明,以上所有过程在分配任意数量球($m \geq n$,重载情形)时,该通用框架均能确保最大负载与平均负载之差为$\mathcal{O}(\log n)$。本分析受Peres、Talwar和Wieder(2010年)关于$(1+\beta)$过程的启发,但此处我们依赖不同势函数之间的相互作用来证明稳定性。