Next: 3.3 Basic global operations
Up: 3.2 Synchronization of parallel
Previous: 3.2.2.3 Monitor concept
  Contents
3.2.3 Data coherency
Data coherency :
All copies of on data set include always the same data values.
- On distributed memory machines, the programmer is responsible for
data coherency, see Sec. 4 and 5.
- On classical (elder) machines with huge shared memory, data coherency
was guaranteed by semaphores from Sec. 3.2.2.
- Nowadays, also shared memory computers have a local cache on
each processor (sometimes a distributed shared memory model is
used for programming).
Here, cache coherency is additionally required
which is much harder to realize than the simple
coherency. Several mechanisms/protocols are used to guarantee that
cache coherency.
Especially, the most recent distributed shared memory machines
use an appropriate Cache Coherency NUMA model.
snoopy-based protocol:
Each process sends its memory accesses to the whole network.
This leads to problems with the communication bandwidth.
directory-based protocol:
Each memory block
(cache-line) possesses an entry in a table (KSR: sea of addresses)
which stores the state of that block and a bit-vector including all
processes with copies of that block.
It can be determined by analysis of these entries,
which cache have to be updated [SGI97].
Next: 3.3 Basic global operations
Up: 3.2 Synchronization of parallel
Previous: 3.2.2.3 Monitor concept
  Contents
Gundolf Haase
2000-03-20