1 / 28

The Tool Daemon Protocol: Defining the Interface Between Tools and Process Management Systems

The Tool Daemon Protocol: Defining the Interface Between Tools and Process Management Systems. Paradyn Group Condor Group { paradyn,condor}@cs.wisc.edu Computer Sciences Department University of Wisconsin Madison, Wisconsin 53705 USA. Ana Cortés Miquel A. Senar

Download Presentation

The Tool Daemon Protocol: Defining the Interface Between Tools and Process Management Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Tool Daemon Protocol:Defining the Interface Between Tools and Process Management Systems Paradyn Group Condor Group {paradyn,condor}@cs.wisc.eduComputer Sciences Department University of Wisconsin Madison, Wisconsin 53705 USA Ana Cortés Miquel A. Senar {miquelangel.senar,ana.cortes}@uab.es Departament d’Informàtica Universitat Autònoma de Barcelona Barcelona, Spain Presented by Philip C. Roth pcroth@cs.wisc.edu PTools Annual Meeting, Knoxville, TN, 10-12 September 2002

  2. The Current Situation Consider a job submitted to a process management system (e.g., Condor, PBS, Globus, MPICH’s MPD)—the process manager… …starts the job’s processes Sets up file I/O Sets up standard I/O …monitors process status …controls the job ProcessManager Daemon monitor/ control Application Process Application Process Tool Daemon Protocol

  3. The Current Situation Next, consider a tool wanting to monitor the job. The tool… …also may want to start the processes (or attach to them) …also needs to monitors process status …also may want to control the job …also may want access to file I/O or standard I/O …needs to communicate with its front-end ProcessManager Daemon Tool Daemon monitor/ control ? ? Application Process Application Process Tool Daemon Protocol

  4. The Current Situation So, who wins? ProcessManager Daemon Tool Daemon monitor/ control ? ? Application Process Application Process Tool Daemon Protocol

  5. The Current Situation • Process managers are many and varied • E.g., IBM POE, SGI Origin MPI and MPICH all work differently • Some process managers have support for specific tools • E.g., MPICH support for TotalView debugger • Heading for an m n combination of m process managers and n tools Bottom line:need a standard interface for process managers and tools to coexist:The Tool Daemon Protocol (TDP) Tool Daemon Protocol

  6. TDP: The Tool Daemon Protocol • Defines an API between process management system and tool processes for… • Creating processes • Controlling processes • Sharing information between processes • Pilot implementation—trying out ideas to see what works Tool Daemon Protocol

  7. TDP Job Startup Sequence • Tool submits job request to process management system Execution Host Local Host Process ManagerDaemon Tool Front-End Create job Tool Daemon Protocol

  8. TDP Job Startup Sequence • Process manager creates application processes, leaving it suspended (“pause on exec”) Execution Host Local Host Process ManagerDaemon Tool Front-End Application Process Tool Daemon Protocol

  9. TDP Job Startup Sequence • PM daemon creates tool daemon process (if necessary) Execution Host Local Host ProcessManagerDaemon Tool Front-End TDP Application Process Tool Daemon Tool Daemon Protocol

  10. TDP Job Startup Sequence • PM daemon passes information to tool daemon (e.g., process pid,front-end host/port, standard I/O host/port) Execution Host Local Host ProcessManagerDaemon Tool Front-End PID,host/port pairs Application Process Tool Daemon Tool Daemon Protocol

  11. TDP Job Startup Sequence • Tool daemon examines the application process (e.g., parses symbols,discovers static call graph) Execution Host Local Host ProcessManager Daemon Tool Front-End Application Process Tool Daemon Tool Daemon Protocol

  12. TDP Job Startup Sequence • App process is allowed to run Execution Host Local Host ProcessManagerDaemon Tool Front-End Application Process Tool Daemon Tool Daemon Protocol

  13. TDP Pilot Implementation • Goals • To try out TDP ideas and see what makes sense in real environment • To collect informed suggestions for a standard • The software • Two well-established packages at U. Wisconsin-Madison • Paradyn performance tool • Condor resource management system Tool Daemon Protocol

  14. Challenges • Process startup • Notification of exited processes • Inter-process communication • Mechanism • Identification of information to be transferred • Asynchronous notifications • Private networks and firewalls • Tool daemon communicating to front-end • Application process sending standard I/O Tool Daemon Protocol

  15. Challenge: Process Startup • Most functionality already in place, but not in the right place • Need to refactor process startup logic between process manager daemon and tool daemon • Control handoff (process manager daemon to tool daemon) difficult under some OSs • E.g., Linux—two scheduling race conditions between application process and tool daemon Tool Daemon Protocol

  16. Challenge: Exit Process Notification • Want the starter to be aware if the app or tool daemon process exits • Process exit notification (e.g., SIGCHLD to the parent under UNIX/Linux) starter SIGCHLD SIGCHLD Parent of Parent of paradynd App Tool Daemon Protocol

  17. Challenge: Exit Process Notification • Parental relationships may change when tool daemon attaches • E.g., Linux—daemon process becomes app process’ parent • On app process’ termination, SIGCHLD sent to paradynd, NOT to the Condor starter starter Parent of paradynd App Parent of SIGCHLD Tool Daemon Protocol

  18. Challenge: Exit Process Notification • SIGCHLD delivered to Condor starter only if paradynd calls wait() • Condor must trust monitoring daemon or poll the application process’ state starter SIGCHLD paradynd App Tool Daemon Protocol

  19. Challenge: Information Transfer • “Attribute Space” • {name, value} pairs shared between processes • Mainly, intra-host sharing between process manager daemon and tool daemon • Also tool front-end, daemon sharing • E.g., application PIDs for front end • Basic idea from MPICH • Not a Linda tuple space • Not a global shared environment space Tool Daemon Protocol

  20. Attribute Space (Execution Host) ProcessManagerDaemon tdp_put(“PID”, “2473”)tdp_put(“FE_host”, “cham.cs.wisc.edu”)tdp_put(“FE_port”, “7331”) PID=2473FE_host=cham.cs.wisc.eduFE_port=7331 Application Process Tool Daemon Tool Daemon Protocol

  21. Attribute Space (Execution Host) ProcessManagerDaemon PID=2473FE_host=cham.cs.wisc.eduFE_port=7331 Tool Daemon tdp_get(“PID”)tdp_get(“FE_host”) tdp_get(“FE_port”) Application Process Tool Daemon Protocol

  22. Challenge: Asynchronous Notification • Uses attribute space • In process interested in event notification, register action tdp_register_notify(handle, event, action) • In event-generating process, deliver event to attribute space tdp_put(event,value) • Value available in action function Tool Daemon Protocol

  23. Challenge: Firewalls and Private Nets Remote Host Local Host ProcessManagerDaemon Tool Front-End X Tool Daemon Firewall Application Process Tool Daemon Protocol

  24. Challenge: Firewalls and Private Nets Remote Host Local Host ProcessManagerDaemon Comm Proxy Tool Front-End Tool Daemon Firewall Application Process Tool Daemon Protocol

  25. Status • Pilot implementation nearly complete • Paradyn with jobs submitted to Condor • Linux 2.4 • “Create process” model • Condor “vanilla” and “MPI” universes • Remaining work: library packaging, documentation • Periodic planning meetings • MPICH (Butler, Gropp, Lusk) • Etnus (Cownie, Delsignore) • Globus (Kesselman) • HP/Compaq (Balle) • Pallas (Vampir group) • Paradyn (Miller) • Condor (Livny) • U. Barcelona (Cortés, Senar) • TUM (Wismüller) • U. Vienna (Fahringer) • U. Tennessee (Moore) Tool Daemon Protocol

  26. The Path Forward • Identify necessary information exchange between principals • Complete design, implement attribute space as standalone package • Get other tool builders, process management system builders involved • Integrate TDP ideas into their systems to see what works Tool Daemon Protocol

  27. Summary • TDP standardizes the interface between process management systems and tools • API for tools and management systems • Support libraries • Distributed attribute space • Avoids the propagation of tool- and process manager-specific interfaces • Pilot implementation nearly complete Tool Daemon Protocol

  28. Pilot Implementation Team Ana Cortés Miquel A. Senar Barton Miller Philip Roth Brandon Schendel Victor Zandy Miron Livny Todd TannenbaumDerek Wright TDP: The Tool Daemon Protocol It is the early stages of this important effort—we want your participation! • Draft report in progress—available for review and comments soon • Web: http://www.cs.wisc.edu/tdp • Email: tdp@cs.wisc.edu Tool Daemon Protocol

More Related