当前位置: X-MOL 学术J. Parallel Distrib. Comput. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Two Elementary Instructions make Compare-and-Swap
Journal of Parallel and Distributed Computing ( IF 3.4 ) Pub Date : 2020-06-22 , DOI: 10.1016/j.jpdc.2020.06.005
Pankaj Khanchandani , Roger Wattenhofer

Herlihy showed that multiprocessors must support advanced atomic objects, such as compare-and-swap, to be able to solve any arbitrary synchronization task among any number of processes (Herlihy, 1991). Elementary objects such as read-write registers and fetch-and-add are fundamentally limited to at most two processes with respect to solving an arbitrary synchronization task. Later, it was also shown that simulating an advanced atomic object using elementary objects is impossible. However, Ellen et al. observed that the above impossibility assumes computation by synchronization objects instead of synchronization instructions applied on memory locations, which is how the actual multiprocessors compute (Ellen et al., 2016). Building on that observation, we show that two elementary instructions, such as max-write and half-max, can be much better than the advanced compare-and-swap instruction. Concretely, we show the following.

[1.] Half-max and max-write instructions are elementary, i.e., have consensus number one.

[2.] Half-max and max-write instructions can simulate compare-and-swap instruction in O(1) steps.

[3.] For a pipelined butterfly interconnect, concurrent throughput of half-max and max-write instructions exceeds the concurrent throughput of compare-and-swap by a factor n — the number of processes.

[4.] The family of instructions max-write-or- are also elementary, where is a commutative and an associative operation.

[5.] It takes Ω(logn) steps to simulate max-write-or-add using compare-and-swap but O(1) steps to simulate compare-and-swap using max-write-or-add and half-max.



中文翻译:

两条基本指令进行比较和交换

Herlihy表明,多处理器必须支持高级原子对象,例如比较和交换,才能解决任意数量的进程之间的任意同步任务(Herlihy,1991)。就解决任意同步任务而言,诸如读写寄存器和获取与添加之类的基本对象从根本上限于两个过程。后来,还显示了使用基本对象模拟高级原子对象是不可能的。然而,艾伦等。观察到上述可能性是假设同步对象进行计算,而不是应用应用于内存位置的同步指令,这就是实际多处理器的计算方式(Ellen et al。,2016)。基于该观察结果,我们显示出两个基本指令,例如max-write和half-max,可以比高级的比较和交换指令好得多。具体地,我们显示以下内容。

[1.] Half-max和max-write指令是基本指令,即共识号为1。

[2.] Half-max和max-write指令可以模拟比较和交换指令 Ø1个 脚步。

[3.]对于管道蝶形互连,半最大和最大写入指令的并发吞吐量比比较和交换的并发吞吐量高出一个系数 ñ —进程数。

[4.]指令系列max-write-or- 也很基础 是可交换的和关联的运算。

[5.] Ω日志ñ 使用比较和交换来模拟最大写入或添加的步骤,但是 Ø1个 使用max-write-or-add和half-max模拟比较和交换的步骤。

更新日期:2020-07-17
down
wechat
bug