Hardware atomicity : an effective abstraction for reliable software speculation. - Neelakantam, Naveen