Hi Pablo,
> Following on Zoltan idea I'm really interested on building a HDF5 non
> blocking file server where different processes can read and write on the
> same files. I have read the basic info on the docs and also the concurrency
> chapter on the Python and HDF5 book, but I would like to know if there is a
> project or any example that I can use as a base for this kind of HDF5
> database.
I'm not aware of a specific codebase which does this, but it's
certainly the sort of thing that MPI is supposed to handle. There are
some edge cases when using an HDF5 file as a shared data store,
related to the MPI semantics for atomic writes, but with a file open
with the "mpio" driver in general it works the way you describe.
If (as it sounds) you want one process to "broadcast" information to
other processes, MPI (and mpi4py) actually has that built-in. My
recommendation would be to go through the mpi4py docs and see if
there's an MPI-native approach that might be easier to develop and
debug than using a shared HDF5 file. There's also a good description
in there of things like Barrier() that you'll need in any case for
synchronization.
Andrew