Memory Models: A Case for Rethinking Parallel Languages and Hardware. - Adve, Sarita V.; Boehm, Hans -J. (Communications of the ACM, 2010)