itaps-parallel Asynchronous functions in parallel interface

Tim Tautges tautges at mcs.anl.gov
Fri Oct 10 13:28:58 CDT 2008


Hi all,
   Thinking more about Jason's proposal lead me to a really important 
question about our parallel interface.  If we're proposing to have 
asynchronous functions like iMeshP_migrateEntity which return a request 
handle, with the application calling the test or wait functions to test 
whether a request has finished, where is the code which is executing 
that request running?  In the case of MPI, there is presumably some 
interaction with the OS, which is acting autonomously to fill buffers, 
transfer them to other processors, etc.  On large parallel systems 
that's handled by the OS-level parts of MPI; on workstations or 
clusters, that's probably done by some other thread or process running 
on each node (or asynchronous calls are really synchronous).  For imesh, 
though, are any of the implementations able to do that kind of forking? 
  I know MOAB never will.  In that case, I think asynchronous calls to 
iMeshP don't make sense, or they only make sense if they're just 
pass-through functions to MPI, in which case they're superfluous.  I 
think it's down in the implementation where asynchronicity is used.  For 
example, when exchanging tags of owned entities, that function can 
initiate and wait for multiple asynchronous messages.  Comments?

- tim

-- 
================================================================
"You will keep in perfect peace him whose mind is
   steadfast, because he trusts in you."               Isaiah 26:3

              Tim Tautges            Argonne National Laboratory
          (tautges at mcs.anl.gov)      (telecommuting from UW-Madison)
          phone: (608) 263-8485      1500 Engineering Dr.
            fax: (608) 263-4499      Madison, WI 53706




More information about the itaps-parallel mailing list