As clients build up the chunks for a dataset, they may leave certain
elements uncovered in the dataset's dataspace.
|
Uncovered, variable-sized chunks
This is not a problem for storing the chunk information, but it can be
a problem if the client attempts to access elements not stored in any existing
chunks.
For example, if each process chose to operate on rectangular selections in
the dataset:
|
Uncovered, variable-sized chunks, with selections that access uncovered elements
What should happen when reading or writing to elements that are not covered by
any chunks?
Some potential solutions:
- Don't allow datasets to be created with uncovered elements. This will
probably be a problem when a dataset's dataspace is extended.
- Don't do any I/O, just return an error from HDF5 calls that
attempt to access elements not in any chunks.
- Define a "background" chunk that contains all uncovered chunks.
This is a problem when a chunk is defined later that covers an element -
how to access the elements that have been covered?
- Treat uncovered elements as a "black hole" on writing and as the
"fill value" when reading.