arXivDaily arXiv每日学术速递 周一至周五更新
北美退伍军人节(Veterans Day),12 日无更新
arXiv 2008.04424cs.DC
收藏

完全读/写无栅栏工作--利用多重性窃取

Fully Read/Write Fence-Free Work-Stealing with Multiplicity

Armando Castañeda, Miguel Piña

摘要:

工作窃取是一种以分布式方式实现动态负载均衡的流行技术。在这种方法中,每个进程都拥有一组必须执行的任务。集合的所有者可以将任务放入其中,也可以从其中获取任务来执行它们。当一个进程的任务用完时,它不是处于空闲状态,而是成为一个小偷,从受害者那里窃取任务。因此,工作窃取算法提供了三个高级操作:Put和Take,只能由所有者调用,以及Steal,可以由小偷调用。设计工作窃取算法的主要目标之一是使Put和Take尽可能简单和高效。不幸的是,已经表明,标准异步模型中的任何工作窃取算法必须使用昂贵的写后读同步模式或原子读-修改-写指令,这在实践中可能是昂贵的。因此,先前的研究已经提出了幂等工作窃取,一种放松,其中有没有读-修改-写原子指令和写后读同步模式的Put和Take算法;然而,Put在写指令之间使用围栏,Steal在读指令之间使用比较和交换和围栏。在TSO模型中,其中Write(resp.读)指令不能被重新排序,已经提出了完全无围栏的工作窃取算法,其Put和Take具有类似的属性,但Steal使用Compare&Swap或锁。

英文摘要:

Work-stealing is a popular technique to implement dynamic load balancing in a distributed manner. In this approach, each process owns a set of tasks that have to be executed. The owner of the set can put tasks in it and can take tasks from it to execute them. When a process runs out of tasks, instead of being idle, it becomes a thief to steal tasks from a victim. Thus, a work-stealing algorithm provides three high-level operations: Put and Take, which can be invoked only by the owner, and Steal, which can be invoked by a thief. One of the main targets when designing work-stealing algorithms is to make Put and Take as simple and efficient as possible. Unfortunately, it has been shown that any work-stealing algorithm in the standard asynchronous model must use expensive Read- After-Write synchronization patterns or atomic Read-Modify-Write instructions, which may be costly in practice. Thus, prior research has proposed idempotent work-stealing, a relaxation for which there are algorithms with Put and Take devoid of Read-Modify-Write atomic instructions and Read-After-Write synchronization patterns; however, Put uses fences among Write instructions, and Steal uses Compare&Swap and fences among Read instructions. In the TSO model, in which Write (resp. Read) instructions cannot be reordered, there have been proposed fully fence-free work-stealing algorithms whose Put and Take have similar properties but Steal uses Compare&Swap or a lock.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑