Optimizing memory transactions for large-scale programs

Fernando Miguel Carvalho, João Cachopo
2016 Journal of Parallel and Distributed Computing  
The research work that I describe in this dissertation is concerned with the problem of shared-memory synchronization in large-scale programs. The difficulties of developing fine-grained lock-based synchronization are well-known and many researchers have argued for the need of alternative approaches. Simply put, the main goal of my work is to provide an efficient alternative to such approaches. My proposal is based on Software Transactional Memory (STM) and I implemented it in a well-known STM
more » ... ramework for Java-Deuce STM. To that end I propose a new approach that significantly lowers the overhead caused by an STM in large-scale programs for which only a small fraction of the memory is under contention. My solution combines two novel optimization techniques in a synergistic way, allowing us to get, for the first time, performance with an STM that rivals the performance of the best lock-based approaches in some of the more challenging benchmarks. My approach and experimental results show that STMs may be the first efficient alternative to locks for shared-memory synchronization in real-world-sized applications.
doi:10.1016/j.jpdc.2015.12.001 fatcat:qafvg3qxpzclniovsdvt4n3eqe