E/A-Optimierung und das pf-Modul

Das Modul pf ist ein Benutzeradressbereichscache, der einen einfachen LRU-Mechanismus (Last Recently Used) für die Seitenvorableerung verwendet. Das Modul pf überwacht auch die Cacheseitennutzung, um künftige Anforderungen an Dateidaten vorherzusehen, indem aio_read -Befehle abgesetzt werden, um den Cache vorab mit Daten zu laden.

Ein gängiges E/A-Muster ist das sequenzielle Lesen sehr großer (zig Gigabyte) Dateien. Anwendungen, die dieses E/A-Muster aufweisen, profitieren in der Regel nur minimal von Puffercaches des Betriebssystems. Große Pufferpools des Betriebssystems sind unwirksam, da die Wiederverwendung von Daten sehr gering ist. Die MIO-Bibliothek kann verwendet werden, um dieses Problem zu lösen, indem das Modul pf aufgerufen wird, das das Muster für sequenziellen Zugriff erkennt und asynchron einen viel kleineren Cachespeicherplatz mit benötigten Daten vorlädt. Der pf -Cache muss nur so groß sein, dass er genügend Seiten enthält, um genügend Vorauslesen (Vorablesezugriff) zu erhalten. Das pf -Modul kann optional die direkte Ein-/Ausgabe verwenden, die eine zusätzliche Speicherkopie in den Systempufferpool vermeidet und die Systempuffer auch vom Einmalige Zugriff auf den E/A-Datenverkehr freigibt, sodass die Systempuffer produktiver verwendet werden können. Frühe Erfahrungen mit den JFS- und JFS2 von AIX haben durchweg gezeigt, dass die Verwendung von direktem I/O vom pf-Modul sehr vorteilhaft für den Systemdurchsatz bei großen Dateien mit sequentiellem Zugriff ist.