Ho un'applicazione che può essere banalmente parallelizzata ma le sue prestazioni sono in larga misura legate all'I / O. L'applicazione legge un singolo array di input archiviato in un file di dimensioni normalmente comprese tra 2 e 5 GB (ma mi aspetto che questo numero cresca in futuro). Un calcolo tipico applica la stessa operazione a ciascuna riga o colonna di tale array. Per le operazioni pesanti della CPU, ottengo un ottimo ridimensionamento fino a circa 100 processori, ma per operazioni più lente l'I / O e la relativa comunicazione (accesso NFS) dominano e non posso usare più di alcuni processori in modo efficiente.
Quali sono le opzioni efficienti e portatili (idealmente portabilmente efficienti) per una situazione del genere? Parallel HDF5 sembra promettente. Qualcuno ha esperienza di vita reale con esso?
MPI-I / O sarebbe qualcosa che vale la pena esaminare? Può funzionare in modo efficiente con un determinato layout di file o devo adattare tutto?