LFU significa Least Frequently Used . Es un algoritmo de caché que se utiliza para optimizar la memoria de la computadora. En este algoritmo, el sistema realiza un seguimiento de cuántas veces se hace referencia a un bloque en la memoria. Cuando la memoria caché está completamente llena y exige más espacio, se elimina el elemento con la frecuencia de referencia más baja.
Tres operaciones realizadas por LFU son: establecer (insertar), recuperar (buscar), desalojar (eliminar).
Implementación
Un enfoque simple es que asignamos un contador a cada bloque que aparece en la memoria. Ahora, cada vez que reaparece el bloque, el contador aumenta en uno. Cuando la memoria caché está completamente llena y se debe insertar un nuevo bloque, el bloque con el valor de contador mínimo se eliminará de la memoria caché y se insertará el nuevo valor. Cuando el bloque se elimina de la memoria caché, el contador de ese bloque se inicializa a cero.
Características
- Puede seguir el método FIFO, es decir, primero en entrar, primero en salir.
- Min Heap se puede usar para implementar este algoritmo en complejidad de tiempo logarítmico.
- Es muy sistemático en aquellos casos en los que el patrón de acceso a la memoria caché no cambia con demasiada frecuencia.
ventajas
- Útil para encontrar un elemento cuando se repiten los datos. Ejemplo: se usa en el teclado móvil para sugerir la palabra y, por lo tanto, después de un uso, comienza a sugerir las palabras que se usan con más frecuencia.
- En LFU, se comprueba la página anterior junto con la frecuencia para esa página.
Desventajas
- Los nuevos elementos insertados en el caché se eliminarán muy pronto, ya que tendrán un recuento bajo, pero se pueden usar con mucha frecuencia nuevamente.
- También puede ocurrir la anomalía de Belady.
Publicación traducida automáticamente
Artículo escrito por rajatrathi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA