[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