Scheduling Support for Transactional Memory Contention Management

被引:8
|
作者
Maldonado, Walther [1 ]
Marlier, Patrick [1 ]
Felber, Pascal [1 ]
Suissa, Adi [2 ]
Hendler, Danny [2 ]
Fedorova, Alexandra [3 ]
Lawall, Julia L. [4 ]
Muller, Gilles [5 ]
机构
[1] Univ Neuchatel, CH-2000 Neuchatel, Switzerland
[2] Ben Gurion Univ Negev, IL-84105 Beer Sheva, Israel
[3] Simon Fraser Univ, Burnaby, BC V5A 1S6, Canada
[4] Univ Copenhagen, DK-1168 Copenhagen, Denmark
[5] INRIA Regal, Paris, France
关键词
Algorithms; Performance; Transactional Memory; Scheduling; Contention Management;
D O I
10.1145/1837853.1693465
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Transactional Memory (TM) is considered as one of the most promising paradigms for developing concurrent applications. TM has been shown to scale well on multiple cores when the data access pattern behaves "well," i.e., when few conflicts are induced. In contrast, data patterns with frequent write sharing, with long transactions, or when many threads contend for a smaller number of cores, result in numerous conflicts. Until recently, TM implementations had little control of transactional threads, which remained under the supervision of the kernel's transaction-ignorant scheduler. Conflicts are thus traditionally resolved by consulting an STM-level contention manager. Consequently, the contention managers of these " conventional" TM implementations suffer from a lack of precision and often fail to ensure reasonable performance in high-contention workloads. Recently, scheduling-based TM contention-management has been proposed for increasing TM efficiency under high-contention [2, 5, 19]. However, only user-level schedulers have been considered. In this work, we propose, implement and evaluate several novel kernel-level scheduling support mechanisms for TM contention management. We also investigate different strategies for efficient communication between the kernel and the user-level TM library. To the best of our knowledge, our work is the first to investigate kernel-level support for TM contention management. We have introduced kernel-level TM scheduling support into both the Linux and Solaris kernels. Our experimental evaluation demonstrates that lightweight kernel-level scheduling support significantly reduces the number of aborts while improving transaction throughput on various workloads.
引用
收藏
页码:79 / 89
页数:11
相关论文
共 50 条
  • [21] On Transactional Scheduling in Distributed Transactional Memory Systems
    Kim, Junwhan
    Ravindran, Binoy
    STABILIZATION, SAFETY, AND SECURITY OF DISTRIBUTED SYSTEMS, 2010, 6366 : 347 - 361
  • [22] INTERNAL SCHEDULING AND MEMORY CONTENTION
    SMITH, AJ
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1981, 7 (01) : 135 - 146
  • [23] On the Performance of Contention Managers for Complex Transactional Memory Benchmarks
    Ansari, Mohammad
    Kotselidis, Christos
    Lujan, Mikel
    Kirkham, Chris
    Watson, Ian
    EIGHTH INTERNATIONAL SYMPOSIUM ON PARALLEL AND DISTRIBUTED COMPUTING, PROCEEDINGS, 2009, : 83 - 90
  • [24] Flexible scheduling of transactional memory on trees
    Busch, Costas
    Chlebus, Bogdan S.
    Herlihy, Maurice
    Popovic, Miroslav
    Poudel, Pavan
    Sharma, Gokarna
    THEORETICAL COMPUTER SCIENCE, 2023, 978
  • [25] Flexible Scheduling of Transactional Memory on Trees
    Busch, Costas
    Chlebus, Bogdan S.
    Herlihy, Maurice
    Popovic, Miroslav
    Poudel, Pavan
    Sharma, Gokarna
    STABILIZATION, SAFETY, AND SECURITY OF DISTRIBUTED SYSTEMS (SSS 2022), 2022, 13751 : 146 - 163
  • [26] Dynamic scheduling in distributed transactional memory
    Busch, Costas
    Herlihy, Maurice
    Popovic, Miroslav
    Sharma, Gokarna
    DISTRIBUTED COMPUTING, 2022, 35 (01) : 19 - 36
  • [27] Dynamic Scheduling in Distributed Transactional Memory
    Busch, Costas
    Herlihy, Maurice
    Popovic, Miroslav
    Sharma, Gokarna
    2020 IEEE 34TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM IPDPS 2020, 2020, : 874 - 883
  • [28] Transaction Scheduling for Software Transactional Memory
    Popovic, Miroslav
    Kordic, Branislav
    Basicevic, Ilija
    2017 2ND IEEE INTERNATIONAL CONFERENCE ON CLOUD COMPUTING AND BIG DATA ANALYSIS (ICCCBDA 2017), 2017, : 191 - 195
  • [29] Dynamic scheduling in distributed transactional memory
    Costas Busch
    Maurice Herlihy
    Miroslav Popovic
    Gokarna Sharma
    Distributed Computing, 2022, 35 : 19 - 36
  • [30] Fast Scheduling in Distributed Transactional Memory
    Costas Busch
    Maurice Herlihy
    Miroslav Popovic
    Gokarna Sharma
    Theory of Computing Systems, 2021, 65 : 296 - 322