Testing implementations of transactional memory

Testing implementations of transactional memory
复制标题

测试事务内存的实现

DOI:
10.1145/1152154.1152177
复制
发表时间:
2006
期刊:
2006 International Conference on Parallel Architectures and Compilation Techniques (PACT)
影响因子:
--
通讯作者:
K. Olukotun
K. Olukotun
中科院分区:
--
文献类型:
--
作者:
Chaiyasit Manovit;Sudheendra Hangal;Hassan Chafi;Austen McDonald;Christos Kozyrakis;K. Olukotun

文献摘要

被引文献

相似文献

transmittance存储器是一个有吸引力的设计概念,可扩展的多处理器,因为它提供了有效的无锁同步,大大简化了并行软件。然而,考虑到并发性和原子性所涉及的微妙问题,重要的是要仔细设计和积极测试事务内存系统,以确保其正确性。在本文中,我们提出了一个公理化的框架来模拟一个现实的事务存储器系统,其中可能包含一个混合的事务和非事务操作的正式规范。使用这个框架和对最初为检查传统内存一致性而开发的分析算法的扩展,我们表明广泛实践的伪随机测试方法可以有效地应用于事务内存系统。我们的测试方法是成功地发现以前未知的错误,在实现TCC,事务存储系统。我们研究了两种口味的基本分析算法,一个不完整的和其他完整的,并表明,完整的算法,而在理论上棘手的是非常有效的实践。
Transactional memory is an attractive design concept for scalable multiprocessors because it offers efficient lock-free synchronization and greatly simplifies parallel software. Given the subtle issues involved with concurrency and atomicity, however, it is important that transactional memory systems be carefully designed and aggressively tested to ensure their correctness. In this paper, we propose an axiomatic framework to model the formal specification of a realistic transactional memory system which may contain a mix of transactional and non-transactional operations. Using this framework and extensions to analysis algorithms originally developed for checking traditional memory consistency, we show that the widely practiced pseudo-random testing methodology can be effectively applied to transactional memory systems. Our testing methodology was successful in finding previously unknown bugs in the implementation of TCC, a transactional memory system. We study two flavors of the underlying analysis algorithm, one incomplete and the other complete, and show that the complete algorithm while being theoretically intractable is very efficient in practice.