Date Added: Jan 2010
Transactional Memory (TM) is an attractive platform for parallel programs, and several Software Transactional Memory (STM) designs have been presented. Here, the authors explore several optimization opportunities to adapt to the running program and to adapt parameters that are optimized for the average case. Depending on the program the transactional load can vary per thread (e.g., client/server threads), or the program uses multiple phases of computation with different transactional loads. Therefore it is important that the STM adapts to the current situation, and that the adaptation process is short, efficient, and thread-local.