|
ulf-wendel.de   
|
|
 Home < PHP Schulung  < Cache-Technologien  < Ersetzungsstrategien  < LRU    |       |  
Print Version    
---
|
|
 Home 
 PHP Projekte 
 PHP Schulung 
    Informationsquellen 
    Geschichte 
    Core PHP 
    Fortgeschrittenes PHP 
    Templates 
    Cache-Technologien 
       Was cachen? 
       Wo cachen? 
       Probleme 
       Ersetzungsstrategien 
          Parameter 
          LRU 
          LRU Abwandlungen 
          LFU 
          TTL 
          Optimum 
       Aktualität 
       Speichermedien 
       Assembly 
       Lebensretter 
    OOH Forms 
 Technik der Site 
 Büchertipps 
 Fotografie 
 Airbrush 
 Kontakt 
 Stuff 

Least-Recently-Used - LRU

Beim LRU Algorithmus beschreibt die Anweisung: lösche solange die am längsten unbenutzen Einträge, bis genug Speicherplatz für den neuen Eintrag vorhanden ist. Die Anweisung verlangt die Pflege einer nach Zugriffszeiten sortierten Liste. Ein Beispiel macht deutlich, warum es zahlreiche Variationen (LRU-Size, LRU-Min, LRU-Threshold) gibt.

Gegeben sei folgende Liste von Cache-Einträgen in einem Cache, dessen Größe 65536 Bytes betrage. Die 6 vorhanden Cache-Einträge füllen den Cache-Speicher fast vollständig aus.

Eintrags-Nr. Letzte Verwendung Größe in Bytes Zugriffe
1 19.01.2001, 7:53 Uhr 10.000 24
2 19.01.2001, 7:47 Uhr 4.000 16
3 19.01.2001, 4:42 Uhr 21.000 28
4 19.01.2001, 7:30 Uhr 8.000 2
5 19.01.2001, 6:02 Uhr 15.000 20
6 19.01.2001, 7:42 Uhr 5.000 10
63.000 (96%) 100

Mit der nächsten Anfrage an das System ist ein neues Datum zu cachen, dessen Größe mit 7.000 Bytes den verfügbaren, freien Speicherplatz überschreitet. Der LRU Algorithmus ermittelt Eintrag 3 zur Löschung und Ersetzung. Damit wird der in der Vergangenheit am häufigsten verwendete und größe Eintrag verdrängt. Steht die Größe in linearer Korrelation mit den Kosten der Eintragserzeugung und/oder handelt es sich nur um eine kurzes Desinteresse an Eintrag 3, so wurde eine Fehlentscheidung getroffen.

Eintrags-Nr. Letzte Verwendung Größe in Bytes Zugriffe
1 19.01.2001, 7:53 Uhr 10.000 24
2 19.01.2001, 7:47 Uhr 4.000 16
7 19.01.2001, 7:59 Uhr 7.000 1
4 19.01.2001, 7:30 Uhr 8.000 2
5 19.01.2001, 6:02 Uhr 15.000 20
6 19.01.2001, 7:42 Uhr 5.000 10
49.000 (65%) 73

Die Ersetzung hat die Ausnutzung des Cache-Speichers von sehr guten 96% auf 65% gesenkt. Handelt es sich beim Speichermedium um Hauptspeicher, so droht bereits nach wenigen Operationen eine hohe Fragmentierung, die zu zusätzlichen CPU Kosten führt. Die folgende Tabelle deutet die Fragmentierung an, nachdem Eintrag 5 aufgrund eines neuen, 17.000 Bytes großen Eintrags verdrängt wurde. Da der neue Eintrag 8 nicht vollständig in die Lücke von 5 paßt, wird 8 gesplittet abgelegt. Fragmentierung ist nicht nur an LRU gebunden.

1
0-10
2
0-4
7
0-7
8.1
0-15
4
0-8
8.2
16-17
-%- 6
0-5

<  ^  >

 Neues

 XML/XSLT Menu
 OOH-Form Rewrite

 PEAR Cache:
  SHM Container

 Suchstring Parser
 Buchrezensionen
 PEAR Cache:
  OutputCompression

 PEAR Menu Browser
 PEAR Menu Tutorial 
 PEAR Cache


 Tipp

Download Version:
oben rechts,
Download *.tar.gz
|
| --- |
|
  Top   |   <  ^  >   |   phpOpenTracker Statistik   |   URL: http://www.ulf-wendel.de/schulung/cache/replacement/lru.php   |   Stand: 05.02.2002   |   © Ulf Wendel   
|
| --- |

0.016 s Bearbeitungszeit, 0.002 s IT[X], 0.004 s Menu 3