¿Es cierto que la coherencia secuencial es una propiedad más fuerte que la coherencia de caché?
De acuerdo a
Sorin, Daniel J; Hill, Mark D; Wood, David A: Introducción a la coherencia de la memoria y la coherencia de caché , Morgan y Claypool, 2011
la consistencia secuencial se puede describir como (no formalmente):
El modelo de memoria de coherencia secuencial especifica que el sistema debe aparecer para ejecutar todas las cargas de los subprocesos y se almacena en todas las ubicaciones de memoria en un orden total que respeta el orden del programa de cada subproceso. Cada carga obtiene el valor de la tienda más reciente en ese orden total.
En otras palabras, el sistema es secuencialmente consistente, si se dan eventos de memoria (cargas y almacenes) de cada subproceso, podemos ordenar todos estos eventos de manera que: 1) para cada subproceso se mantenga el orden de sus eventos, y 2) el orden global es serial (cualquier carga devuelve el último valor almacenado).
Ahora continúan y describen la coherencia:
Una definición de coherencia que es análoga a la definición de coherencia secuencial es que debe aparecer un sistema coherente para ejecutar todas las cargas y almacenes de subprocesos en una única ubicación de memoria en un orden total que respeta el orden del programa de cada subproceso.
En otras palabras, el sistema es coherente, si se dan eventos de memoria de cada subproceso para cada ubicación , podemos ordenar eventos para esa ubicación, de modo que: 1) para cada subproceso se conserva el orden de sus eventos en esa ubicación , y 2) para cada ubicación el pedido es en serie.
Finalmente, señalan la diferencia:
Esta definición resalta una distinción importante entre coherencia y consistencia : la coherencia se especifica por ubicación de memoria, mientras que la consistencia se especifica con respecto a todas las ubicaciones de memoria.
Entonces, parece que la diferencia es que para sistemas coherentes necesitamos un orden total en todos los eventos para cada ubicación (por lo tanto, el orden entre eventos para una ubicación particular), mientras que para sistemas consistentes, el orden total debe definirse en todos los eventos (y, por lo tanto, ordenar también es entre eventos para diferentes ubicaciones)?
¿Eso significa que la coherencia es menos estricta que la coherencia? (¡lo que parece divertido!) ¿Hay rastros que sean coherentes pero no consistentes?