Tengo una aplicación que puede ser paralelamente trivial, pero su rendimiento está en gran medida vinculado a E / S. La aplicación lee una matriz de entrada única almacenada en un archivo que normalmente tiene un tamaño de 2-5 GB (pero espero que este número crezca en el futuro). Un cálculo típico aplica la misma operación a cada fila o columna de esa matriz. Para operaciones pesadas de CPU, obtengo una escalabilidad muy buena de hasta aproximadamente 100 procesadores, pero para operaciones más lentas, la E / S y la comunicación relacionada (acceso NFS) dominan y no puedo usar más de unos pocos procesadores de manera eficiente.
¿Cuáles son las opciones eficientes y portátiles (idealmente portables eficientes) para tal situación? El HDF5 paralelo parece prometedor. ¿Alguien tiene experiencia en la vida real con él?
¿Merecería la pena considerar MPI-I / O? ¿Puede funcionar de manera eficiente con un diseño de archivo determinado, o tengo que adaptar todo?