Das Kefk Network Wiki befindet sich im Testbetrieb.


Least frequently used

Aus Kefk.

Wechseln zu: Navigation, Suche

LFU (least frequently used) ist ein Algorithmus, der das Vorgehen beim Auswechseln einer Page in der Pagetable beschreibt. Dabei versteht man unter einer Page (zu Deutsch "Seite") einen Speicherblock des Computerspeichers mit fester Größe. Die Pagetable ist eine Tabelle, mit deren Hilfe man eine logische Speicheradresse in eine physische Speicheradresse (oder umgekehrt) umrechnen kann.

Der Algorithmus besagt, dass derjenige Pageeintrag in der Pagetable ersetzt wird, der bislang am wenigsten verwendet wurde.

Ein Problem bei diesem Algorithmus ist, dass eine Page, die zu Beginn viel verwendet wurde, einen hohen Zähler besitzt (der Zähler zeigt an, wie viele Male der Pageeintrag in der Pagetable verwendet wurde). Diese Situation ist durchaus denkbar beim Ladevorgang. Obwohl der Pageeintrag danach nicht mehr abgefragt wird, bleibt dieser Eintrag in der Pagetable, da der Zähler hoch genug ist. Somit verliert man einen Platz in der Pagetable. Eine Lösung für dieses Problem kann zum Beispiel sein, den Zähler pro Zeiteinheit um ein Bit nach rechts zu schieben, was zu einer exponentiellen Abnahme des Zählers führt. Daher wird verhindert, dass sich ein Eintrag, der eine Weile viel verwendet wurde und danach sozusagen gar nicht mehr, auf ewig in der Pagetable halten kann.

Falls sich die Situation ergeben sollte, dass der Algorithmus zwischen zwei Pageeinträgen mit gleich hohem Zähler auswählen muss, kann zum Beispiel der FIFO Algorithmus angewandt werden.

Vorteile:

  • Relativ leicht zu implementieren
  • Beachtet das Alter einer Seite
  • Beachtet die Referenzhäufigkeit einer Seite

Nachteile:

  • Eine einmal häufig referenzierte Seite wird erst nach vielen Misses ersetzt und blockiert somit den Cache

Implementierung

Bei LFU wird zu jeder Seite im Cache ein Referenzzähler geführt, der angibt wie oft auf die Seite zugegriffen wurde. Jeder Seitenzugriff erhöht den Referenzzähler. Muss eine Seite ersetzt werden weil der Cache voll ist wird die Seite mit den wenigsten Referenzen ersetzt.

Beispiel

A:2              A:2              F:1
B:3    --B-->    B:4    --F-->    B:4
C:8              C:8              C:8
     Cache- Hit       Cache- Miss

Siehe auch

Persönliche Werkzeuge