Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] nonblocking MPI_File_iwrite() does block?
From: Rob Latham (robl_at_[hidden])
Date: 2010-01-06 17:35:55


On Mon, Nov 23, 2009 at 01:32:24PM -0700, Barrett, Brian W wrote:
> On 11/23/09 8:42 AM, "Rob Latham" <robl_at_[hidden]> wrote:
>
> > Is it OK to mention MPICH2 on this list? I did prototype some MPI
> > extensions that allowed ROMIO to do true async I/O (at least as far
> > as the underlying operating system supports it). If you really need
> > to experiment with async I/O, I'd love to hear your experiences.
>
> Rob -
>
> Funny you should mention that code. I was looking into a compile error in
> OMPI on a strange platform last week (while travelling to SC, of course) and
> was realizing that I had no idea what I was doing when I integrated ROMIO
> into Open MPI many years ago, did it horribly, and want to clean it up.
>
> Anyway, you're talking about all the MPIX_Grequest interface used in ROMIO,
> right?

exactly

> Do you have documentation of that API anywhere (even a header file
> with some comments)?

There's the EuroPVM/MPI paper:
http://www.mcs.anl.gov/~robl/papers/latham_grequest-enhance.pdf

> I'm going to try to clean up how we integrate into ROMIO during the
> holiday break, and it might make sense to implement the extended API
> so that we can give some async I/O behavior as well. From looking
> at the ROMIO usage, I think OMPI has all the internal pieces to put
> together the API pretty quickly, so it might be an option. Any
> thoughts you have on the subject would be greatly appreciated.

I'm sorry I did not respond to this message earlier. I only check my
openmpi folder every few weeks.

When we implemented this in MPICH2 we added additional checks in our
{test,wait} {,any,all,some} routines and invoked the progress function
at those times. It resulted in some less-than-efficient code.

==rob

-- 
Rob Latham
Mathematics and Computer Science Division
Argonne National Lab, IL USA