中文

F-快照问题

分布式、并行与集群计算 2015-10-09 v1

摘要

Aguilera、Gafni 和 Lamport 在 [5] 中引入了信令问题(signaling problem)。在该问题中,编号为 0 和 1 的两个进程可以调用两个过程:update 和 Fscan。该问题的一个参数是二变量函数 F(x0,x1)F(x_0,x_1)。每个进程 pip_i 可通过调用 update(v) 并传入某数据值 v 来为变量 xix_i 赋值,并通过执行 Fscan 过程计算值 F(x0,x1)F(x_0,x_1)。当 FF 的定义域为无限而值域为有限时,该问题是有趣的。此时,会施加一些“访问限制”以限定 Fscan 过程可访问的寄存器大小。Aguilera 等人给出了一种非阻塞解,并询问是否存在无等待(wait-free)解。[7] 中给出了肯定答案。将双进程信令问题自然推广到任意数量的进程,产生了基础快照(snapshot)问题的一个有趣推广,我们称之为 F-快照(F-snapshot)问题。在该问题中,nn 个进程可向一个 nn 段数组(每段由对应进程写入)写值,并可读出并获得段数组上 nn 变量函数 FF 的值。当 FF 的值域为有限时,要求进程将函数 FF 应用于数组时仅访问有界寄存器,尽管写入段的数据值可能取自无限集。我们在此对 Aguilera 等人关于任意数量进程的问题给出了肯定回答。我们的解仅使用单写者原子寄存器,其时间复杂度为 O(nlogn)O(n \log n),这也是仅使用单写者寄存器的最快快照算法的时间复杂度。

关键词

引用

@article{arxiv.1510.02211,
  title  = {The F-snapshot Problem},
  author = {Gal Amram},
  journal= {arXiv preprint arXiv:1510.02211},
  year   = {2015}
}