Decoupling Contention Management from Scheduling

被引:2
作者
Johnson, F. Ryan [1 ,2 ]
Stoica, Radu [1 ]
Ailamaki, Anastasia [1 ,2 ]
Mowry, Todd C. [2 ]
机构
[1] Ecole Polytech Fed Lausanne, Vd, Switzerland
[2] Carnegie Mellon Univ, Pittsburgh, PA 15213 USA
关键词
Performance; Measurement; Concurrency control; load management; contention; spinning; blocking; scheduling; thread; multicore; SYNCHRONIZATION;
D O I
10.1145/1735971.1736035
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Many parallel applications exhibit unpredictable communication between threads, leading to contention for shared objects. The choice of contention management strategy impacts strongly the performance and scalability of these applications: spinning provides maximum performance but wastes significant processor resources, while blocking-based approaches conserve processor resources but introduce high overheads on the critical path of computation. Under situations of high or changing load, the operating system complicates matters further with arbitrary scheduling decisions which often preempt lock holders, leading to long serialization delays until the preempted thread resumes execution. We observe that contention management is orthogonal to the problems of scheduling and load management and propose to decouple them so each may be solved independently and effectively. To this end, we propose a load control mechanism which manages the number of active threads in the system separately from any contention which may exist. By isolating contention management from damaging interactions with the OS scheduler, we combine the efficiency of spinning with the robustness of blocking. The proposed load control mechanism results in stable, high performance for both lightly and heavily loaded systems, requires no special privileges or modifications at the OS level, and can be implemented as a library which benefits existing code.
引用
收藏
页码:117 / 128
页数:12
相关论文
共 33 条
[1]  
AGARWAL A, 1989, P 16 INT S COMP ARCH, P396
[2]   SCHEDULER ACTIVATIONS - EFFECTIVE KERNEL SUPPORT FOR THE USER-LEVEL MANAGEMENT OF PARALLELISM [J].
ANDERSON, TE ;
BERSHAD, BN ;
LAZOWSKA, ED ;
LEVY, HM .
ACM TRANSACTIONS ON COMPUTER SYSTEMS, 1992, 10 (01) :53-79
[3]  
BARTOLINI N, 2009, INT J COMPUTER TELEC, V53, P727
[4]  
Bienia Christian, 2008, P PACT OCT
[5]  
BLASGEN M, 1979, ACM SIGOPS OPERATING, V13, P20
[6]   OPTIMAL STRATEGIES FOR SPINNING AND BLOCKING [J].
BOGUSLAVSKY, L ;
HARZALLAH, K ;
KREINEN, A ;
SEVCIK, K ;
VAINSHTEIN, A .
JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1994, 21 (02) :246-254
[7]  
CANTRILL B, 2004, P US ANN TECHN C
[8]  
CAREY M, 1990, P S PRINC DAT SYST P
[9]  
CARLSTROM J, 2002, P IEEE INFOCOM
[10]  
DICE D, 2006, P ACM SIGPLAN WORKSH