Ich habe eine Anwendung, die trivial parallelisiert werden kann, deren Leistung jedoch weitgehend E / A-gebunden ist. Die Anwendung liest ein einzelnes Eingabearray, das in einer Datei gespeichert ist, die normalerweise 2 bis 5 GB groß ist (ich erwarte jedoch, dass diese Zahl in Zukunft zunimmt). Eine typische Berechnung wendet dieselbe Operation auf jede Zeile oder Spalte dieses Arrays an. Bei rechenintensiven Vorgängen ist die Skalierung auf ca. 100 Prozessoren sehr gut, bei langsameren Vorgängen dominieren E / A und die damit verbundene Kommunikation (NFS-Zugriff) und ich kann nicht mehr als einige Prozessoren effizient einsetzen.
Was sind effiziente und tragbare (idealerweise tragbare) Optionen für eine solche Situation? Paralleles HDF5 scheint vielversprechend. Hat jemand echte Erfahrungen damit?
Wäre MPI-I / O eine Prüfung wert? Kann es mit einem bestimmten Dateilayout effizient funktionieren oder muss ich alles anpassen?