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 条
  • [31] Advanced Concurrency control for Transactional Memory using transaction commit rate
    Ansari, Mohammad
    Kotselidis, Christos
    Jarvis, Kim
    Lujan, Mikel
    Kirkham, Chris
    Watson, Ian
    EURO-PAR 2008 PARALLEL PROCESSING, PROCEEDINGS, 2008, 5168 : 719 - 728
  • [32] On Transactional Memory Concurrency Control in Distributed Real-Time Programs
    Hirve, Sachin
    Lindsay, Aaron
    Ravindran, Binoy
    Palmieri, Roberto
    2013 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING (CLUSTER), 2013,
  • [33] Analytical/ML Mixed Approach for Concurrency Regulation in Software Transactional Memory
    Rughetti, Diego
    Di Sanzo, Pierangelo
    Ciciani, Bruno
    Quaglia, Francesco
    2014 14TH IEEE/ACM INTERNATIONAL SYMPOSIUM ON CLUSTER, CLOUD AND GRID COMPUTING (CCGRID), 2014, : 81 - 91
  • [34] On Designing NUMA-Aware Concurrency Control for Scalable Transactional Memory
    Mohamedin, Mohamed
    Palmieri, Roberto
    Peluso, Sebastiano
    Ravindran, Binoy
    ACM SIGPLAN NOTICES, 2016, 51 (08) : 393 - 394
  • [35] Convoider: A Concurrency Bug Avoider Based on Transparent Software Transactional Memory
    Yu, Zhen
    Zuo, Yu
    Zhao, Yong
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2020, 48 (01) : 32 - 60
  • [36] Complexity-Effective Contention Management with Dynamic Backoff for Transactional Memory Systems
    Kim, Seung Hun
    Choi, Dongmin
    Ro, Won Woo
    Gaudiot, Jean-Luc
    IEEE TRANSACTIONS ON COMPUTERS, 2014, 63 (07) : 1696 - 1708
  • [37] IBM Blue Gene/Q memory subsystem with speculative execution and transactional memory
    Ohmacht, M.
    Wang, A.
    Gooding, T.
    Nathanson, B.
    Nair, I.
    Janssen, G.
    Schaal, M.
    Steinmacher-Burow, B.
    IBM JOURNAL OF RESEARCH AND DEVELOPMENT, 2013, 57 (1-2)
  • [38] Efficient execution of speculative threads and transactions with hardware transactional memory
    Li, Gongming
    An, Hong
    Li, Qi
    Deng, Bobin
    Dai, Wenbo
    FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 2014, 30 : 242 - 253
  • [39] Transactional memory execution for parallel multithread programming without lock
    Yang, Xiaoqi
    Zheng, Qilong
    Chen, Guoliang
    Liu, Shujuan
    Luan, Jun
    EIGHTH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED COMPUTING, APPLICATIONS AND TECHNOLOGIES, PROCEEDINGS, 2007, : 209 - 215
  • [40] TokenTM: Efficient execution of large transactions with hardware transactional memory
    Bobba, Jayaram
    Goyal, Neelam
    Hill, Mark D.
    Swift, Michael M.
    Wood, David A.
    ISCA 2008 PROCEEDINGS: 35TH INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, 2008, : 127 - 138