Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] Replacing poll()
From: Jeffrey Squyres (jsquyres_at_[hidden])
Date: 2012-03-19 15:44:38

On Mar 19, 2012, at 3:35 PM, Alex Margolin wrote:

> I've removed put and get from mosix (feels good to cut down on code lines...), but now the question has to be asked:
> Threre are send and sendi (is sendi sufficient, or must i include send as well?)

send is sufficient. sendi is an optimization. You can always implement it later, after you get base functionality working.

> for the outgoing, but what about the incoming?
> How does a process request input? Do I poll for incoming messages in the progress function and call the function in mca_btl_base_active_message_trigger[incoming_tag] ?


> Also, If I remove the async operations and left only with the blocking ones - can I remove the prepare_src/prepare_dst functions (and any other mention of the descriptors data structure) for the time being?

Here's notes I have from a conversation I had with George when I was preparing a custom BTL for an Sc'11 demo:

 * Notes from george:
 * - BTL ALLOC: allocating PML control messages or eager frags if BTL
     does not have IN_PLACE flag. To be clear: max it will ever alloc
     is eager_limit. THEREFORE: eager_limit is the max that ALLOC
     must always be able to alloc.
     --> Contraction in the btl.h documentation.
 * - BTL PREPARE SRC: max_send_size frags go through here. Can return
     a smaller size than was asked for.
 * - BTL PREPARE DEST: not used if you don't have PUT/GET
 * - BTL SEND: will be used after ALLOC / PREPARE

> I assume it'll cost me in performance, but I want to create a basic working prototype first and proceed to supporting async calls later on.
> Thanks for all your help,
> Alex
> P.S. Sorry about the lengthy thread... I promise I'll document my component so it can later be used for reference for the things I didn't understand reading the template, btl.h and the TCP component (any other devel manuals to read?).

No worries; we're happy to answer questions.

Any documentation you can provide would be awesome. :-) As you can see, we're a little short of real developer documentation. :-(

Jeff Squyres
For corporate legal information go to: