Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

PMIx: Debuggers and Fabric Support

14 views

Published on

Overview of PMIx support for debuggers and HPC interconnects

Published in: Technology
  • Be the first to comment

  • Be the first to like this

PMIx: Debuggers and Fabric Support

  1. 1. PMIx: Debuggers and Fabric
  2. 2. Debugger/Tool Features • Co-launch/co-location of daemons  At initial app spawn • Co-launch  Upon attach • Spawn w/co-location • Launch control  Stop-on-exec, stop-in-init, stop-in-app  Release method spec • Forwarding of IO  To/from debugger daemons  To/from app being debugged • Query support  Global and local proctable  PMIx server and application procs • Direct/indirect launch support  Forward, set/unset/modify envars (e.g., LD_PRELOAD)  Launcher directives • Modify local fork/exec agent • Replace launcher daemons
  3. 3. RM PMIx Server RM PMIx Server Proc Proc Dbgr Dmn Direct Launch Co-launch Two-stage launch
  4. 4. RM PMIx Server RM PMIx Server mpiexec PMIx Server Indirect Launch PMIx_Spawn fork/exec PMIX_LAUNCHER_PAUSE_FOR_TOOL
  5. 5. RM PMIx Server RM PMIx Server mpiexec PMIx Server Indirect Launch Launch Directives Tools: only connect to one server at a time
  6. 6. RM PMIx Server RM PMIx Server Proc Proc Dbgr Dmn PMIx Server mpiexec PMIx Server ssh Indirect Launch mpid Co-launch Two-stage launch
  7. 7. RM PMIx Server RM PMIx Server Proc Proc Dbgr Dmn PMIx Server mpiexec PMIx Server Attach to Running Job Launch Daemons mpid
  8. 8. RM PMIx Server RM PMIx Server Proc Proc Dbgr Dmn PMIx Server mpiexec PMIx Server Attach to Running Job mpid
  9. 9. RM PMIx Server RM PMIx Server Proc Proc Dbgr Dmn PMIx Server mpiexec PMIx Server Attach to Running Job Launch Daemons mpid Direct or Indirect Launch
  10. 10. Web Links • https://pmix.org  Home page for PMIx • https://pmix.org/pmix-standard/  Standards process, links to headers, RFCs  Roles/responsibilities of RMs and other system management components • How-to guides  https://pmix.org/support/how-to/example-direct-launch- debugger-tool/  https://pmix.org/support/how-to/example-indirect- launch-debugger-tool/
  11. 11. RM PMIx Server RM PMIx Server Proc Proc Dbgr Dmn Assigning Procs->Daemons Query: • Local proctable • Local rank PMIX_DEBUG_JOB Assigned in launch data Query global proctable
  12. 12. RM PMIx Server RM PMIx Server Proc Proc Dbgr Dmn PMIx Server mpiexec PMIx Server Assigning Procs->Daemons mpid Query: • Local proctable • Local rank PMIX_DEBUG_JOB Assigned in launch data
  13. 13. RM PMIx Server RM PMIx Server Proc Proc Dbgr Dmn PMIx Server mpiexec PMIx Server Assigning Procs->Daemons mpid Query: • Local proctable • Local rank PMIX_DEBUG_JOB Assigned in launch data
  14. 14. General Capabilities • Specify mechanism for “hold”  Query RM or launcher for support  stop-on-exec, stop-in-init, or stop-in-app • Specify app release mechanism  PMIx event, signal, … • Register for events  Termination of debugger job and/or daemons  Termination of app job and/or procs
  15. 15. RM PMIx Server RM PMIx Server Proc Proc Dbgr Dmn PMIx Server mpiexec PMIx Server Query App Info mpid
  16. 16. RM PMIx Server RM PMIx Server Proc Proc stdout stderr Sent via PMIx Forwarding of Output Dbgr Dmn
  17. 17. RM PMIx Server RM PMIx Server Proc Proc stdin Sent via PMIx Forwarding Stdin PMIx Client Collects Tool Collects Dbgr Dmn
  18. 18. RM PMIx Server RM PMIx Server Proc Proc Dbgr Dmn PMIx Server mpiexec PMIx Server Forwarding Stdin mpid stdin PMIx Client Collects Tool Collects Sent via PMIx
  19. 19. RM PMIx Server RM PMIx Server Proc Proc Dbgr Dmn PMIx Server mpiexec PMIx Server Forwarding Stdin mpid stdinPMIx Client Collects Tool Collects Sent via PMIx
  20. 20. Fabric Features • Harvest/forward envars  Include/exclude • Get/set security keys • Get/forward setup “blob” • Deliver setup “blob” prior to local process spawn Support: • OmniPath (master) • TCP (branch)

×