Visualisierung der Effizienz verschiedener
Seitenaustauschstrategien |
Bei Datenbanken und bei der virtuelle Speicheradressierung muss bei
einem Seitenfehler eine Seite ausgewählt werden, die zu Gunsten einer
neuen verdrängt werden soll. Für die Auswahl dieser Seite gibt es
verschiedene Strategien (FIFO, LFO, LRU, GCLOCK, ...) Diese
verschiedenen Strategien berücksichtigen die Anzahl der Referenzen auf
die Seite, das 'Alter' der Seite und den letzten Referenzzeitpunkt in
unterschiedlicher Art und Weise.
Es ist anhand der Anzahl der Seitenfehler zu zeigen,
wie sich die einzelnen Strategien bei verschieden
gearteten Datenströmen (z.B. zufällig, zyklisch, gehäuft, ...)
verhalten. Prinzipiell beliebig viele Strategien sollen mit den
gleichen Daten versorgt und die Anzahl der Seitefehler grafisch sichtbar
gemacht werden. Zu jedem Zeitpunkt sollen neue Strategien gestartet
werden bzw. andere beendet werden können. Die Datenströme sind
entweder aus einer Datei zu lesen oder vom Programm selbst zu erzeugen.
Im Falle der eigenen Erzeugung ist darauf zu achten, dass die
Charakteristik (siehe oben) des Stroms jederzeit änderbar ist. Des
weiterenn ist es denkbar den Wertebereich bzw. den 'Speicher' zu
verändern. Damit ist gemeint, dass bei einem Wertebreich von 100
Werten und einem Speicher von 90 Werten ein Seitenfehl
unwahrscheinlicher ist als bei einem Speicher von 30 Werten be gleichem
Speicherbereich.
Strategien sollen dynaisch, ohne vollständige Neucompilation, geladen
werden können und durch eine lose Koppelung von Model, View und
Controller z.B. andere Darstellungsformen einfach einbindbar sein.
|