Multithreaded servers with cache-coherent shared memory are the dominant type of machines used to run critical network services and database management
systems. To achieve the high availability required for
these tasks, it is necessary to incorporate mechanisms
for error detection and recovery. Correct operation of
the memory system is defined by the memory consistency
model. Errors can therefore be detected by checking if
the observed memory system behavior deviates from the
specified consistency model. Based on recent work, we
design a framework for dynamic verification of memory
consistency (DVMC). The framework consists of mechanisms to verify three invariants that are proven to guarantee that a specified memory consistency model is
obeyed. We describe an implementation of the framework for the SPARCv9 architecture and experimentally
evaluate its performance using full-system simulation of
commercial workloads.