1. 17 Jun, 2015 1 commit
  2. 09 Jun, 2015 1 commit
  3. 20 May, 2015 1 commit
  4. 17 Apr, 2015 1 commit
    • Kenneth Raffenetti's avatar
      portals4: fix anysource_matched · 73e32112
      Kenneth Raffenetti authored
      
      
      This fix, along with a pending patch to the Portal4 reference implementation,
      should make anysource_matched a more reliable operation for multithreaded apps. We
      were seeing a race condition where an ME would unlink successfully, but an
      event matching it would still arrive in the queue. CH3 can now reliably search
      the netmod queue for matched MPI_ANY_SOURCE requests.
      
      The reason that we no longer assert that an MPI_ANY_SOURCE request was removed
      from the CH3 queue is that FDP (find and dequeue posted) operations will remove
      the request from the queue, if it is known to be already matched by the netmod,
      even if it has not yet completed.
      
      Fixes #2199
      Signed-off-by: default avatarAntonio J. Pena <apenya@mcs.anl.gov>
      73e32112
  5. 10 Apr, 2015 1 commit
    • Kenneth Raffenetti's avatar
      portals4: revert [722d85a4] and [d459c025] · 2f97f429
      Kenneth Raffenetti authored
      The 2 commits being reverted introduced a "safe" PtlMEAppend function
      that would call MPID_nem_ptl_poll to process some events in case there
      was no space to append the match list entry. However the poll function
      is not reentrant safe, which could lead to ordering problems.
      
      The increased list entry limit from [c6c0d6f6
      
      ] should prevent PTL_NO_SPACE
      errors from happening, except in the extreme case. If we still find we are
      hitting this error, a proper fix can be done in the Rportals layer.
      Signed-off-by: default avatarAntonio J. Pena <apenya@mcs.anl.gov>
      2f97f429
  6. 19 Nov, 2014 2 commits
  7. 13 Nov, 2014 1 commit
    • Kenneth Raffenetti's avatar
      portals4: better dtype mismatch detection · f7384c54
      Kenneth Raffenetti authored
      
      
      The previous code only detected a datatype mismatch when the message
      was copied out of the unexpected queue. Now it will throw an error
      in both cases.
      
      We also set the error in the status object to match the default ch3
      behavior. This fixed an issue where the request would not be freed
      and cause extra debugging output at MPI_Finalize.
      Signed-off-by: default avatarAntonio Pena Monferrer <apenya@mcs.anl.gov>
      f7384c54
  8. 12 Nov, 2014 1 commit
    • Kenneth Raffenetti's avatar
      portals4: implement cancel send · b56f4f1d
      Kenneth Raffenetti authored
      
      
      All MPI_Sends in the Portals4 netmod will cause some or all of the data to be
      sent eagerly to the receiver. Canceling a send means having to find the data in
      the unexpected message queue and removing it in order to preserve matching.
      Because the message queues exist at the netmod level, it needs its own cancel
      protocol.
      
      The protocol is modeled on a similar case in CH3, but with its own method
      for searching the unexpected queue. Custom netmod packet handlers are used to
      receive and process the control messages.
      
      Known Issue:
        Because we are using different PTs for the send and cancel message, it is
        possible the cancel request could arrive before the message being canceled.
      Signed-off-by: default avatarAntonio Pena Monferrer <apenya@mcs.anl.gov>
      b56f4f1d
  9. 06 Nov, 2014 1 commit
  10. 05 Nov, 2014 3 commits
  11. 04 Nov, 2014 1 commit
  12. 03 Nov, 2014 1 commit
    • Pavan Balaji's avatar
      Initial draft of flow-control in the portals4 netmod. · f4253c38
      Pavan Balaji authored and Kenneth Raffenetti's avatar Kenneth Raffenetti committed
      
      
      Portals4 by itself does not provide any flow-control.  This needs to
      be managed by an upper-layer, such as MPICH.  Before this patch we
      were relying on a bunch of unexpected buffers that were posted to the
      portals library to manage unexpected messages.  However, since portals
      asynchronously pulls out messages from the network, if the application
      is delayed, it might result in the unexpected buffers being filled out
      and the portal disabled.  This would cause MPICH to abort.
      
      In this patch, we implement an initial version of flow-control that
      allows us to reenable the portal when it gets disabled.  All this is
      done in the context of the "rportals" wrappers that are implemented in
      the rptl.* files.  We create an extra control portal that is only used
      by rportals.  When the primary data portal gets disabled, the target
      sends PAUSE messages to all other processes.  Once each process
      confirms that it has no outstanding packets on the wire (i.e., all
      packets have either been ACKed or NACKed), it sends a PAUSE-ACK
      message.  When the target receives PAUSE-ACK messages from all
      processes (thus confirming that the network traffic to itself has been
      quiesced), it reenables the portal and sends an UNPAUSE message to all
      processes.
      
      This patch still does not deal with origin-side resource exhaustion.
      This can happen, for example, if we run out of space on the event
      queue on the origin side.
      Signed-off-by: Kenneth Raffenetti's avatarKen Raffenetti <raffenet@mcs.anl.gov>
      f4253c38
  13. 16 Oct, 2014 1 commit
  14. 04 Oct, 2014 1 commit
  15. 01 Oct, 2014 1 commit
  16. 25 Sep, 2014 1 commit
  17. 27 Aug, 2014 1 commit
  18. 07 Aug, 2014 3 commits
  19. 31 Jul, 2014 1 commit
  20. 29 Jul, 2014 1 commit
  21. 22 Jul, 2014 1 commit
  22. 29 Oct, 2013 1 commit
  23. 05 Nov, 2012 1 commit
  24. 26 Oct, 2012 1 commit
  25. 24 Oct, 2012 1 commit
  26. 12 Oct, 2012 1 commit
  27. 03 Oct, 2012 3 commits
  28. 11 Sep, 2012 1 commit
  29. 07 Sep, 2012 1 commit