Coherency Granule
   HOME

TheInfoList



OR:

In
computers A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computers can perform generic sets of operations known as programs. These programs ...
it is typical to define rules relative to data transfers for optimizing the overall system considerations. One such consideration is to define coherency granules (CG) that relate to units of data that are stored in
memory Memory is the faculty of the mind by which data or information is encoded, stored, and retrieved when needed. It is the retention of information over time for the purpose of influencing future action. If past events could not be remembered, ...
. These units generally have a close relationship to caches that may be used in the system. The Coherency Granule size typically corresponds to the cache line size in a computer system.Computer Architecture: A Quantitative Approach, John L. Hennessy, David A. Patterson, Elsevier, 2012 The hardware is designed with the assumption that coherency granules will be the data packets that are typically transferred in a
cache coherent system In computer architecture, cache coherence is the uniformity of shared resource data that ends up stored in multiple local caches. When clients in a system maintain caches of a common memory resource, problems may arise with incoherent data, whi ...
when accessing coherent data. The magnitude of the coherency granule is typically significantly greater than the bus size. For example, in current processing systems, the coherency granule is commonly 32 bytes, and the bus size is 8 bytes wide. In such a case, a data transfer of one coherency granule requires 4 cycles on the bus. The hardware is designed to optimize, for example by using burst techniques, the performance of such transfers. Thus a burst transfer of a coherency granule will take less time than two transfers each of a half of a coherency granule. As systems continue to get more and more complex, there has been a tendency to increase the size of coherency granules. As the size of coherency granules increases, there is thus more data per coherency granule. This can make it more complicated since more data must be dealt with for each operation that must maintain the requirements of the coherency associated with the data.


References


Further reading


"What Every Programmer Should Know About Memory"
{Dead link, date=July 2019 , bot=InternetArchiveBot , fix-attempted=yes by
Ulrich Drepper Ulrich (), is a German given name, derived from Old High German ''Uodalrich'', ''Odalric''. It is composed of the elements '' uodal-'' meaning "(noble) heritage" and ''-rich'' meaning "rich, powerful". Attested from the 8th century as the name of Al ...

"Caching in the Distributed Environment"
Cache (computing)