Differences

This shows you the differences between two versions of the page.

Link to this comparison view

ccbench [2013/10/14 11:41]
ccbench [2013/10/14 11:41] (current)
Line 1: Line 1:
 +====== ccbench ======
 +
 +ccbench is a tool for measuring the cache-coherence latencies of a processor, i.e.,
 +the latencies of loads, stores, compare-and-swap (CAS), fetch-and-increment (FAI),
 +test-and-set (TAS), and swap (SWAP). The latencies that ccbench measures can be
 +used to understand and predict the behavior of sharing and synchronization on
 +the underlying hardware platform.
 +
 +ccbench is a part of the [[ssync|SSYNC]] synchronization suite.
 +
 +===== Details =====
 +
 +ccbench brings a single cache line L in the desired MESI state and position in the processor and then performs that target operation on L. In more details, ccbench takes the following steps:
 +
 +1. It uses one (or more) cores to bring L in the desired state and position, e.g., in a Modified state in the local caches of core 0 in node 0.\\
 +2. It then uses another core in order to perform the target operation, e.g., load from a modified state that is on the local caches of a core that is on the same node.
 +
 +
 +===== Code =====
 +
 +You can get a copy of the source code of ccbech at: [[https://​github.com/​trigonak/​ccbench]] ​