È vero che la coerenza sequenziale è una proprietà più forte della coerenza della cache?
Secondo
Sorin, Daniel J; Hill, Mark D; Wood, David A: A Primer on Memory Coistence and Cache Coherence , Morgan & Claypool, 2011
la coerenza sequenziale può essere descritta come (non formalmente):
Il modello di memoria a coerenza sequenziale specifica che il sistema deve apparire per eseguire tutti i carichi dei thread e memorizza in tutte le posizioni di memoria in un ordine totale che rispetti l'ordine del programma di ciascun thread. Ogni carico ottiene il valore dell'archivio più recente in quell'ordine totale.
In altre parole, il sistema è sequenzialmente coerente, se dati eventi di memoria (carica e memorizza) di ciascun thread possiamo ordinare tutti questi eventi in modo tale che: 1) per ogni thread l'ordine dei suoi eventi sia preservato e 2) l'ordine globale sia seriale (qualsiasi carico restituisce l'ultimo valore memorizzato).
Ora continuano e descrivono la coerenza:
Una definizione di coerenza analoga alla definizione di coerenza sequenziale è che un sistema coerente deve apparire per eseguire tutti i carichi e le archiviazioni di tutti i thread in una singola posizione di memoria in un ordine totale che rispetti l'ordine del programma di ciascun thread.
In altre parole, il sistema è coerente, se dati eventi di memoria di ciascun thread per ogni posizione , possiamo ordinare eventi per quella posizione, in modo tale che: 1) per ogni thread l'ordine dei suoi eventi in quella posizione venga conservato e 2) per ciascuno luogo in cui l'ordine è seriale.
Infine, sottolineano la differenza:
Questa definizione evidenzia un'importante distinzione tra coerenza e coerenza : la coerenza è specificata in base alla posizione per memoria, mentre la coerenza è specificata rispetto a tutte le posizioni di memoria.
Quindi sembra che la differenza sia che per sistemi coerenti abbiamo bisogno di un ordine totale su tutti gli eventi per ogni posizione (quindi l'ordine tra eventi per una particolare posizione), mentre per sistemi coerenti l'ordine totale dovrebbe essere definito su tutti gli eventi (e quindi il l'ordinamento è anche tra eventi per diverse località)?
Ciò significa che la coerenza è meno rigorosa di quella coerenza? (che sembra divertente!) Ci sono tracce coerenti ma non coerenti?