TrC-MC: Decentralized Software Transactional Memory for Multi-Multicore Computers
To achieve single-lock atomicity in software transactional memory systems, the commit procedure often goes through a common clock variable. When there are frequent transactional commits, clock sharing becomes inefficient. Tremendous cache contention takes place between the processors and the computing throughput no longer scales with processor count. Therefore, traditional transactional memories are unable to accelerate applications with frequent commits regardless of thread count. While systems with decentralized data structures have better performance on these applications, the authors argue they are incomplete as they create much more aborts than traditional transactional systems. In this paper, they apply two design changes, namely zone partitioning and timestamp extension, to optimize an existing decentralized algorithm.