中文

在多处理器杯子游戏中实现最优积压

数据结构与算法 2019-04-08 v1

摘要

单处理器与多处理器杯子游戏可用于建模处理器调度、摊还化和缓冲管理等领域中的自然问题。在单处理器杯子游戏开始时,nn个杯子初始为空。在游戏的每一步中,填充者将11单位水分配到各杯子中,然后清空者选择一个杯子并从中移除1+ϵ1 + \epsilon单位水。清空者的目标是最小化最满杯子中的水量,即积压(backlog)。已知贪心算法(即清空最满的杯子)可实现O(logn)O(\log n)的积压,且任何确定性算法都无法做得更好。我们表明,少量随机化即可大幅改善贪心算法的性能:在任意第ii步之后,且对任意kΩ(logϵ1)k \ge \Omega(\log \epsilon^{-1}),清空者以至少1O(22k)1 -O(2^{-2^k})的概率实现至多O(k)O(k)的积压。尽管单处理器杯子游戏的界已为人知十余年,但证明多处理器扩展中积压的非平凡界一直悬而未决。我们给出了多处理器杯子游戏贪心算法的简单分析,只要游戏的另一速度增强常数δ\delta至少为1/poly(n)1/poly(n),即建立了O(ϵ1logn)O(\epsilon^{-1} \log n)的积压。转向随机化算法,我们遇到了一种意外现象:当处理器数pp较大时,每步之后的积压以大概率下降到常数。具体而言,我们表明若δ\deltaϵ\epsilon满足合理约束,则存在一种算法,在给定步后以至少1O(exp(Ω(ϵ2p))1 - O(\exp(-\Omega(\epsilon^2 p))的概率将积压限制在3或更小。我们进一步扩展了随机化算法的保证以考虑更大的积压。

关键词

引用

@article{arxiv.1904.02861,
  title  = {Achieving Optimal Backlog in Multi-Processor Cup Games},
  author = {Michael A. Bender and Martin Farach-Colton and William Kuszmaul},
  journal= {arXiv preprint arXiv:1904.02861},
  year   = {2019}
}