Compiler and Runtime Techniques to Identify and Optimize Atomic Blocks in Parallel Programs nidottuSaksa, 2014