Effective Transactional Memory Execution Management for Improved Concurrency

被引:9
|
作者
Gonzalez-Mesa, M. A. [1 ]
Gutierrez, Eladio [1 ]
Zapata, Emilio L. [1 ]
Plata, Oscar [1 ]
机构
[1] Univ Malaga, Dept Comp Architecture, E-29071 Malaga, Spain
关键词
Design; Experimentation; Performance; Transactional memory; concurrency exploitation; dependence analysis; optimistic concurrency; program parallelization;
D O I
10.1145/2633048
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
This article describes a transactional memory execution model intended to exploit maximum parallelism from sequential and multithreaded programs. A program code section is partitioned into chunks that will be mapped onto threads and executed transactionally. These transactions run concurrently and out of order, trying to exploit maximum parallelism but managed by a specific fully distributed commit control to meet data dependencies. To accomplish correct parallel execution, a partial precedence order relation is derived from the program code section and/or defined by the programmer. When a conflict between chunks is eagerly detected, the precedence order relation is used to determine the best policy to solve the conflict that preserves the precedence order while maximizing concurrency. The model defines a new transactional state called executed but not committed. This state allows exploiting concurrency on two levels: intrathread and interthread. Intrathread concurrency is improved by having pending uncommitted transactions while executing a new one in the same thread. The new state improves interthread concurrency because it permits out-of-order transaction commits regarding the precedence order. Our model has been implemented in a lightweight software transactional memory system, TinySTM, and has been evaluated on a set of benchmarks obtaining an important performance improvement over the baseline TM system.
引用
收藏
页码:23 / 49
页数:27
相关论文
共 50 条
  • [1] A Concurrency Control in Hardware Transactional Memory Considering Execution Path Variation
    Hirota, Anju
    Mashita, Keisuke
    Tsumura, Tomoaki
    2016 FOURTH INTERNATIONAL SYMPOSIUM ON COMPUTING AND NETWORKING (CANDAR), 2016, : 77 - 83
  • [2] On the Cost of Concurrency in Transactional Memory
    Kuznetsov, Petr
    Ravi, Srivatsan
    PRINCIPLES OF DISTRIBUTED SYSTEMS, 2011, 7109 : 112 - 127
  • [3] SEL-TM: Selective Eager-Lazy Management for Improved Concurrency in Transactional Memory
    Zhao, Lihang
    Choi, Woojin
    Draper, Jeff
    2012 IEEE 26TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS), 2012, : 95 - 106
  • [4] Applying Transactional Memory to Concurrency Bugs
    Volos, Haris
    Tack, Andres Jaan
    Swift, Michael M.
    Lu, Shan
    ACM SIGPLAN NOTICES, 2012, 47 (04) : 211 - 222
  • [5] Applying Transactional Memory to Concurrency Bugs
    Volos, Hans
    Tack, Andres Jaan
    Swift, Michael M.
    Lu, Shan
    ASPLOS XVII: SEVENTEENTH INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS, 2012, : 211 - 222
  • [6] Regulating Concurrency in Software Transactional Memory: An Effective Model-based Approach
    Di Sanzo, Pierangelo
    Del Re, Francesco
    Rughetti, Diego
    Ciciani, Bruno
    Quaglia, Francesco
    2013 IEEE 7TH INTERNATIONAL CONFERENCE ON SELF-ADAPTIVE AND SELF-ORGANIZING SYSTEMS (SASO), 2013, : 31 - 40
  • [7] Detecting Concurrency Anomalies in Transactional Memory Programs
    Lourenco, Joao
    Sousa, Diogo
    Teixeira, Bruno
    Dias, Ricardo
    COMPUTER SCIENCE AND INFORMATION SYSTEMS, 2011, 8 (02) : 533 - 548
  • [8] Hybrid Transactional Memory with Pessimistic Concurrency Control
    Enrique Vallejo
    Sutirtha Sanyal
    Tim Harris
    Fernando Vallejo
    Ramón Beivide
    Osman Unsal
    Adrián Cristal
    Mateo Valero
    International Journal of Parallel Programming, 2011, 39 : 375 - 396
  • [9] Hybrid Transactional Memory with Pessimistic Concurrency Control
    Vallejo, Enrique
    Sanyal, Sutirtha
    Harris, Tim
    Vallejo, Fernando
    Beivide, Ramon
    Unsal, Osman
    Cristal, Adrian
    Valero, Mateo
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2011, 39 (03) : 375 - 396
  • [10] Relaxed Concurrency Control in Software Transactional Memory
    Aydonat, Utku
    Abdelrahman, Tarek S.
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2012, 23 (07) : 1312 - 1325