A Preliminary Study of Minimal-Contention Locks

被引:0
作者
Machanick, Philip [1 ]
机构
[1] Rhodes Univ, Dept Comp Sci, Grahamstown, South Africa
来源
PROCEEDINGS OF THE ANNUAL CONFERENCE OF THE SOUTH AFRICAN INSTITUTE OF COMPUTER SCIENTISTS AND INFORMATION TECHNOLOGISTS (SAICSIT 2018) | 2018年
关键词
SYNCHRONIZATION;
D O I
10.1145/3278681.3278713
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
As multicore CPUs become more common, scalable synchronization primitives have wider use and ideas previously used in large-scale computation are worth re-opening for wider use. In this paper I explore one approach to scalable synchronization, a minimal-contention lock (M-lock). The key idea is to avoid spinning on a global variable but instead for each blocked task (process or thread) to spin on a local lock representing the task that immediately preceded it in attempting to acquire the lock. This creates an ordering based on the order in which tasks attempt to acquire the lock, preventing starvation. The only globally shared variable is a pointer to the next local lock to be contended for. Each contending task swaps the value of this pointer for a pointer to its own variable. It spins on the variable previously pointed to by the global pointer. Each waiting task spins on a lock only seen by itself and the owner of that lock variable. While a task is spinning, the lock variable can be held in its local cache until invalidated by the lock owner when it unsets the lock. Consequently, the amount of bus traffic is considerably less than with a spinlock, which has the pernicious feature that the task releasing the lock is delayed by all the other bus traffic arising from contention for the lock. An MCS lock has similar properties but is more complicated and requires more memory contention-causing operations. This paper outlines the design of the M-lock and provides a preliminary performance analysis.
引用
收藏
页码:269 / 278
页数:10
相关论文
共 27 条
[21]  
Pelley S, 2014, CONF PROC INT SYMP C, P265, DOI 10.1109/ISCA.2014.6853222
[22]   SYNCHRONIZATION WITH EVENTCOUNTS AND SEQUENCERS [J].
REED, DP ;
KANODIA, RK .
COMMUNICATIONS OF THE ACM, 1979, 22 (02) :115-123
[23]   KNIGHTS LANDING: SECOND-GENERATION INTEL XEON PHI PRODUCT [J].
Sodani, Avinash ;
Gramunt, Roger ;
Corbal, Jesus ;
Kim, Ho-Seop ;
Vinod, Krishna ;
Chinthamani, Sundaram ;
Hutsell, Steven ;
Agarwal, Rajat ;
Liu, Yen-Chen .
IEEE MICRO, 2016, 36 (02) :34-46
[24]  
Swaminathan S, 2002, PARALLEL DISTRIBUTED, P241
[25]   FALSE SHARING AND SPATIAL LOCALITY IN MULTIPROCESSOR CACHES [J].
TORRELLAS, J ;
LAM, MS ;
HENNESSY, JL .
IEEE TRANSACTIONS ON COMPUTERS, 1994, 43 (06) :651-663
[26]  
Vitali Roberto, 2012, P 5 INT ICST C SIM T, P129
[27]  
Wulf W. A., 1995, Computer Architecture News, V23, P20, DOI 10.1145/216585.216588