LICM is a new lightweight runtime technique to identify captured memory (memory allocated inside its allocating transaction), for which no STM barriers are needed.
Using this technique to remove useless barriers, we improved the performance of all baseline STMs for most benchmarks. In STMBench7 the performance improved significantly: 4 times for the LSA and 2.6 times for the TL2. Moreover, running the STAMP benchmarks with our approach shows improvements of 7 times in the best case for the Vacation application.
A preliminary version of this work has been presented as a poster in the PPoPP13, with the title: Runtime Elision of Transactional Barriers for Captured Memory, Fernando Miguel Carvalho and Joao Cachopo.
An improved analysis of LICM solution was presented as a distinguished paper in ICA3PP with the title: Lightweight Identification of Captured Memory for Software Transactional Memory, Fernando Miguel Carvalho, João Cachopo, which received the Best Paper Award.