By zero-sized chunks do you mean to say that the actual chunks in the dataset 
are zero-sized or the data going to the write is zero-sized? It would seem odd 
to me if you were writing to an essentially zero-sized dataset composed of 
zero-sized chunks.

On the other hand, for ranks that aren't participating, they should never 
construct a list of chunks in the H5D__construct_filtered_io_info_list() 
function and thus should never participate in any chunk updating, only the 
collective file space re-allocations and re-insertion of chunks into the chunk 
index. That being said, if you are indeed seeing zero-sized malloc calls in the 
chunk update function, something must be wrong somewhere. While it is true that 
the chunks currently move to the rank with the largest contribution to the 
chunk which ALSO has the least amount of chunks currently assigned to it (to 
try and get a more even distribution of chunks among all the ranks), any rank 
which has a zero-sized contribution to a chunk should never have created a 
chunk struct entry for the chunk and thus should not be participating in the 
chunk updating loop (lines 1471-1474 in the current develop branch). They 
should pass that loop and wait at the subsequent H5D__mpio_array_gatherv() 
until the other ranks get done processing. Again, this is what should happen 
but in your case may not be the actuality of the situation.
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5

Reply via email to