Effective Transactional Memory Execution Management for Improved Concurrency

Effective Transactional Memory Execution Management for Improved Concurrency
复制标题

有效的事务内存执行管理可提高并发性

DOI:
10.1145/2633048
复制
发表时间:
2014
期刊:
ACM Transactions on Architecture and Code Optimization (TACO)
影响因子:
--
通讯作者:
O. Plata
O. Plata
中科院分区:
--
文献类型:
--
作者:
Miguel A. Gonzalez;E. Gutiérrez;E. Zapata;O. Plata

文献摘要

被引文献

相似文献

本文描述了一个事务性内存执行模型,该模型旨在利用顺序和多线程程序的最大并行性。程序代码段被划分为多个块,这些块将映射到线程上并以事务方式执行。这些事务并发且无序运行,试图利用最大的并行性,但由特定的完全分布式提交控件管理,以满足数据依赖性。为了完成正确的并行执行,从程序代码段派生出部分优先顺序关系和/或由程序员定义。当急切地检测到块之间的冲突时,使用优先顺序关系来确定解决冲突的最佳策略,在保持优先顺序的同时最大限度地提高并发性。该模型定义了一个新的事务状态,称为已执行但未提交。这种状态允许在两个级别上利用并发性:线程内和线程间。线程内并发性通过在同一线程中执行新事务时挂起未提交的事务来改进。新状态提高了线程间并发性,因为它允许按照优先顺序乱序提交事务。我们的模型已经在轻量级软件事务性内存系统TinySTM中实现,并在一组基准测试中进行了评估,获得了比基线TM系统更重要的性能改进。
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.