consistencia del procesador


La consistencia del procesador es uno de los modelos de consistencia utilizados en el dominio de la computación concurrente (por ejemplo, en memoria compartida distribuida , transacciones distribuidas , etc.).

Un sistema exhibe Coherencia de procesador si el orden en que otros procesadores ven las escrituras de cualquier procesador individual es el mismo que el orden en que se emitieron. Debido a esto, la consistencia del procesador solo se aplica a sistemas con varios procesadores. Es más débil que el modelo de consistencia causal porque no requiere que las escrituras de todos los procesadores se vean en el mismo orden, pero es más fuerte que el modelo de consistencia PRAM porque requiere coherencia de caché . [1] Otra diferencia entre la consistencia causal y la consistencia del procesador es que la consistencia del procesador elimina los requisitos para que las cargas esperen a que se completen las tiendas y para la atomicidad de escritura . [1]La Coherencia del procesador también es más fuerte que la Coherencia de la memoria caché porque la Coherencia del procesador requiere que todas las escrituras de un procesador se vean en orden, no solo las escrituras en la misma ubicación de memoria. [1]

En el ejemplo 1 a la derecha, el sistema simple sigue la consistencia del procesador, ya que todas las escrituras de cada procesador se ven en el orden en que ocurrieron por los otros procesadores, y las transacciones son coherentes. El ejemplo 2 NO es compatible con el procesador, ya que las escrituras de P1 y P3 se ven fuera de orden en P2 y P4, respectivamente.

En el ejemplo 3 a continuación, el modelo de consistencia aplicable más sólido es la consistencia del procesador. Esto es trivial de determinar porque solo hay como máximo una escritura por procesador. Este ejemplo no es causalmente consistente, sin embargo, debido a que R(x)1 en P2 puede potencialmente causar W(x)2 en P2, podemos establecer que W(x)1 en P1 precede causalmente a W(x)2 en P2. Sin embargo, P3 y P4 no están de acuerdo en el orden de las dos escrituras de P1 y P2.

El sistema del Ejemplo 4 no es compatible con el procesador, porque otros procesadores ven algunas escrituras del mismo procesador fuera de orden. Más específicamente, las escrituras en una sola ubicación se ven en orden, pero W(x)2 por P1 no se ve antes que W(y)4 por P2. El hecho de que las únicas escrituras vistas en orden sean escrituras en la misma ubicación de memoria limita este ejemplo a la consistencia de caché.

La consistencia del procesador (PC) relaja el orden entre las tiendas más antiguas y las cargas más jóvenes que se aplica en la consistencia secuencial (SC). [2] Esto permite que las cargas se envíen al caché y potencialmente se completen antes que las tiendas más antiguas, lo que significa que las tiendas se pueden poner en cola en un búfer de escritura sin necesidad de implementar la especulación de carga (las cargas pueden continuar libremente). [3] En este sentido, PC funciona mejor que SC porque las técnicas de recuperación para especulaciones fallidas no son necesarias, lo que significa menos vaciados de tubería. [3] La optimización de captación previa que emplean los sistemas SC también es aplicable a los sistemas de PC. [3] Captación previaes el acto de obtener datos por adelantado para las próximas cargas y almacenamientos antes de que realmente se necesiten, para reducir la latencia de carga/almacenamiento. Dado que la PC reduce la latencia de la carga al permitir que las cargas se vuelvan a pedir antes de las tiendas correspondientes, la necesidad de captación previa se reduce un poco, ya que los datos captados previamente se utilizarán más para las tiendas que para las cargas. [3]