The tool daemon protocol defining the interface between tools and process management systems
Download
1 / 28

The Tool Daemon Protocol: Defining the Interface Between Tools and Process Management Systems - PowerPoint PPT Presentation


  • 98 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' The Tool Daemon Protocol: Defining the Interface Between Tools and Process Management Systems ' - samantha-branch


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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.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

[email protected]

PTools Annual Meeting, Knoxville, TN, 10-12 September 2002


The current situation
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


The current situation1
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


The current situation2
The Current Situation

So, who wins?

ProcessManager

Daemon

Tool Daemon

monitor/

control

?

?

Application

Process

Application

Process

Tool Daemon Protocol


The current situation3
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


Tdp the tool daemon protocol
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


Tdp job startup sequence
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


Tdp job startup sequence1
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


Tdp job startup sequence2
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


Tdp job startup sequence3
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


Tdp job startup sequence4
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


Tdp job startup sequence5
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


Tdp pilot implementation
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


Challenges
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


Challenge process startup
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


Challenge exit process notification
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


Challenge exit process notification1
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


Challenge exit process notification2
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


Challenge information transfer
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


Attribute space execution host
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


Attribute space execution host1
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


Challenge asynchronous notification
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


Challenge firewalls and private nets
Challenge: Firewalls and Private Nets

Remote Host

Local Host

ProcessManagerDaemon

Tool

Front-End

X

Tool Daemon

Firewall

Application

Process

Tool Daemon Protocol


Challenge firewalls and private nets1
Challenge: Firewalls and Private Nets

Remote Host

Local Host

ProcessManagerDaemon

Comm

Proxy

Tool

Front-End

Tool Daemon

Firewall

Application

Process

Tool Daemon Protocol


Status
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


The path forward
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


Summary
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


Tdp the tool daemon protocol1

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: [email protected]

Tool Daemon Protocol


ad