iX 8/2020
S. 98
Wissen
Optimierung

Effektive Softwareoptimierung mit File-I/O-Profiling

Gut gestoppt

Philipp Köster, Rainer Keller

Vor allem beim High-Performance Computing ist der I/O-Durchsatz essenziell für die Systemleistung. Mit den richtigen I/O-Profiling-Werkzeugen lassen sich potenzielle Flaschenhälse finden.

File-I/O kann aufgrund der benötigten Zeit zu einem Flaschenhals werden. Mit den passenden Werkzeugen ist dieser Flaschenhals jedoch lokalisierbar. Dadurch lassen sich die einzelnen Dateizugriffe durch die Auswahl der effizientesten Funktionen optimieren. Zudem kann man durch geschicktes Nutzen interner Puffer die Anzahl der Zugriffe auf das notwendige Minimum reduzieren. Im Rahmen einer derartigen Optimierung lässt sich zudem die Parallelisierung eines Programms überprüfen. 

Das Schreiben und Lesen von Dateien kann viel Laufzeit eines Programms in Anspruch nehmen. Die Verarbeitung von Daten im Prozessor wird entsprechend dem mooreschen Gesetz immer schneller. Erreichte man dies früher durch mehr Transistoren auf der gleichen Fläche und durch einen schnelleren Takt, steigt heute die Rechenleistung zunehmend durch Parallelisierung. Durch diese Beschleunigung der Verarbeitung bei nahezu gleicher Bandbreite und Latenz des Hauptspeichers wird der Zugriff auf Daten zum Flaschenhals (Stichwort Memory-Wall). Die Prozessoren verarbeiten Daten schneller, als sie aus dem Hauptspeicher oder von einem Speichermedium gelesen werden können. Das Schreiben der Ergebnisse bremst die gesamte Berechnung.

Kommentieren