Efficient raw image reads on parallel file systems
This issue was created automatically from an original Mantis Issue. Further discussion may take place here.
When reading raw image data from a file, the current image reader does uncoordinated reads of the data. When many processes are each trying to read a 3D subblock from a file, each process requests many small strips of data from the file. When a parallel file system gets saturated with lots of these small requests, the devices get swamped trying to satisfy all the independent requests.
In contrast, reading from a parallel file system can be very efficient when reading large blocks of data. If the reads requests from the independent process are consolidated, they can be satisfied with one or a few large reads. MPI version 2 has a set of IO commands to allow you to do just this. I propose creating a subset of the image reader that takes advantage of the MPI IO calls to make parallel reads efficient.