The OpenMP memory model allows for a temporary view of shared memory that only needs to be made consistent when barrier or flush directives are encountered.
The goal of the Memory Consistency Benchmark (MCBENCH) is to measure the overhead that can be attributed to maintaining memory consistency for an OpenMP program.
This is achieved by punctuating a series of Change and Read phases with OpenMP barriers. More importantly, during each Change phase, each thread changes data that will be read by another thread in the subsequent Read phase, giving rise to memory consistency work.
More details about the benchmark is available in the following paper which has been accepted at IWOMP2008.
The version of MCBENCH that was used to obtain the results presented in the IWOMP2008 paper is available:
The following people can be contacted: