Assign large blocks first in ADIOI_GPFS_Calc_file_domains
For files that are less than the size of a gpfs block there seems to be
an issue if successive MPI_File_write_at_all are called with proceeding
offsets. Given the simple case of 2 aggs, the 2nd agg/fd will be utilized,
however the initial offset into the 2nd agg is distorted on the 2nd call
to MPI_File_write_at_all because of the negative size of the 1st agg/fd
because the offset info the 2nd agg/fd is influenced by the size of the
first. Simple solution is to reverse the default large block assignment so
in the case where only 1 agg/fd will be used it will be the first. By chance
in the 2 agg situation this is what the GPFSMPIO_BALANCECONTIG
optimization does and it does not have this problem.
Signed-off-by:
Rob Latham <robl@mcs.anl.gov>
Please register or sign in to comment