[aspect-devel] Writing output in parallel
Wolfgang Bangerth
bangerth at math.tamu.edu
Tue Feb 28 08:10:23 PST 2012
> the problem in that case is that the IO and the solver use the same
> interconnect
> where otherwise the solver uses infiniband and the IO the ethernet (this
> is the way most simple clusters are designed)
> and there are a bunch of rather large mpi buffers being occupied by the IO.
> i do not know how this will affect the performance as well.
I have no idea how MPI would implement this sort of thing. I would
imagine that they give asynchronous sends lower priority, but then you
never know.
I'm reluctant to implement one scheme over another without any evidence
that this improves the situation at all. Do you have tools that can
determine where the bottleneck is?
Timo: Do you think you could try using the async MPI I/O routines, store
the token you get back in the same way I currently store the token for
the thread I create (or, wanted to create) and simply check whether the
I/O has terminated next time we come to the same place (again in the
same way I currently join the thread)?
Cheers
W.
PS: Looking at our code, the next thing after postprocessing is mesh
refinement or some linear algebra before assembly. The former has some
lead time without communication (estimating errors) but the latter needs
to communicate again right away.
------------------------------------------------------------------------
Wolfgang Bangerth email: bangerth at math.tamu.edu
www: http://www.math.tamu.edu/~bangerth/
More information about the Aspect-devel
mailing list