标题: 共享记忆体多处理机上可延伸的有序串列演算法
A Scalable Parallel Ordered List for Shared-Memory Multiprocessors
作者: 萧正德
Cheng-Te Hsiao
黄廷禄
Dr. Ting-Lu Huang
资讯科学与工程研究所
关键字: 平行演算法;资料结构;区域等待;parallel algorithm;data structure;local spinning
公开日期: 1993
摘要: 共用的资料结构在共享记忆体多处理机上的系统软体及应用程式中是必要
的。为了维持资料的一致性,必须要采用一些 lock 的方法。近来的研究
人员注意到记忆体及连结网路争夺的问题,并且证明让每一个处理机在可
局部存取的记忆体上持续等待而不经过连结网路可以有效减少此问题的发
生。在本论文中提出一系列符合此一要求的演算法。读者作家同步问题允
许多个处理同时检视共用物件的内容。现存的解法一般利用到计数器而可
能引起 hot spot 的产生,我们提出一个演算法来解决因为使用计数器而
引起的记忆体争夺问题。利用解决读者作家问题的做法,我们提出一个高
度平行的有序串列演算法,作用在串列上相冲突的动作可以部份相重叠,
并且总是维持串列的顺序。 Mellor-Crummey 和 Scott 在 1991 年提出
了有区域等待(local spinning) 性质的 lock 同步演算法。但是在没有
compare_and_swap 指令时,他们的演算法会导致可能饿死的问题。由我
们先前研究所得到的技术,我们提出一个不会导致饿死而且不须使用
compare_and_swap 的互斥演算法。
In a shared-memory multiprocessor system, maintaining a common
data structure is essential in system softwares and application
programs. Some locking mechanisms must be supported to
maintain data consistency. Recently many researchers have
addressed the problem of memory and interconnect contention and
have shown that to have all the processors spin on locally-
accessible variables without going through the entire
processor- memory data path is effective in reducing the
problem. We propose a series of local-spinning algorithms in
the thesis. Reader-writer synchronization relaxes the
constraints of mutual exclusion to permit more than one process
to inspect a shared object concurrently. Typical use of
counters in the existing solutions introduces a potential hot
spot that may receive excessive memory accesses. We propose an
algorithm that reduces the memory contention caused by
centralized counter accesses. Based on the reader-writer lock,
we propose a parallel ordered list that is highly concurrent.
Some conflicting operations on the list structure can be
partially overlapped and the order in the list is always kept
consistent. Mellor-Crummey and Scott proposed in 1991 an
algorithm for lock synchronization that enjoys local spinning
property. However, for machine without compare_and_swap
instructions their algorithm suffers the possibility of
starvation. By using some techniques found in our previous
work, we give a new list-based mutual exclusion lock algorithm
that uses only fetch_and_store atomic instruction and is
starvation free.
URI: http://140.113.39.130/cdrfb3/record/nctu/#NT820392044
http://hdl.handle.net/11536/57850
显示于类别:Thesis