John D. Kubiatowicz. Closing the Window of Vulnerability in
Multiphase Memory Transactions: The Alewife Transaction Store.
Master's thesis, Massachusetts Institute of Technology, Department of
Electrical Engineering and Computer Science, February 1993. Also
available as MIT/LCS Technical Report 594.
(pdf, compressed postscript)
Multiprocessor architects have begun to explore several mechanisms such as prefetching, context-switching and software-assisted dynamic cache-coherence, which transform single-phase memory transactions in conventional memory systems into multiphase operations. Multiphase operations introduce a window of vulnerability in which data can be invalidated before it is used. Losing data due to invalidations introduces damaging livelock situations. This paper discusses the origins of the window of vulnerability and proposes an architectural framework that closes it. The framework employs fully-associative transaction-buffers and an algorithm called thrashlock. It has been implemented as one facet of the Alewife machine, a large-scale cache-coherent multiprocessor.