Algoritmo de almacenamiento en caché LIRS


LIRS ( Low Inter-reference Recency Set ) es un algoritmo de reemplazo de página con un rendimiento mejorado sobre LRU (Menos recientemente usado) y muchos otros algoritmos de reemplazo más nuevos. [1] Esto se logra mediante el uso de "distancia de reutilización" [2] como métrica de localidad para clasificar dinámicamente las páginas visitadas para tomar una decisión de reemplazo.

Si bien todos los algoritmos de reemplazo de página se basan en la existencia de una localidad de referenciaPara que funcione, una diferencia importante entre los diferentes algoritmos de reemplazo es cómo se cuantifica esta localidad. LIRS utiliza la distancia de reutilización de una página, o el número de páginas distintas a las que se accede entre dos referencias consecutivas de la página, para cuantificar la localidad. Específicamente, LIRS utiliza la última y la penúltima referencia (si existe) para este propósito. Si se accede a una página por primera vez, su distancia de reutilización es infinita. Por el contrario, LRU usa la antigüedad de una página, que es el número de páginas distintivas a las que se accede después de la referencia de la página, para cuantificar la localidad. Para tener en cuenta el historial de acceso actualizado, la implementación de LIRS utiliza en realidad la mayor distancia de reutilización y la antigüedad de una página como métrica para cuantificar su localidad, denominada RD-R. Suponiendo que la caché tiene una capacidad de páginas C,El algoritmo LIRS clasifica las páginas a las que se ha accedido recientemente de acuerdo con sus valores RD-R y conserva las páginas C mejor clasificadas en la memoria caché.

Los conceptos de distancia de reutilización y antigüedad se pueden visualizar como se muestra a continuación, en el que T1 y T2 son los tiempos de referencia anteúltimo y último de la página B, respectivamente, y T3 es el tiempo actual.

LIRS organiza los metadatos de las páginas almacenadas en caché y algunas páginas no almacenadas en caché y realiza las operaciones de reemplazo que se describen a continuación, que también se ilustran con un ejemplo [3] en el gráfico.

LIRS se ha implementado en MySQL desde la versión 5.1. [4] También se adopta en la plataforma de cuadrícula de datos Infinispan . [5] Se adopta una aproximación de LIRS, CLOCK-Pro, [6] en NetBSD . [7]


Operaciones de sustitución de LIRS