Seitenaustauschstrategien für Datenbanken

Programm zur Visualisierung der Effizienz verschiedener Seitenaustauschstrategien.

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.

Programmiersprachen und Werkzeuge
100% pure Java, Java 1.2, mit Swing
etc.
Diese Thema beruht auf einer Idee von Markus Schwarz

Hauptnavigation