Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

PTP/designs/3.x/rm proxy

< PTP‎ | designs
Revision as of 13:34, 19 December 2006 by Crasmussen.lanl.gov (Talk | contribs)

Overview

This is a preliminary design for the PTP Resource Management events and proxy communication system. This probably should be folded back into the Resource Management Design once everything is fleshed out.

Resource Manager Proxy

The Resource Manager (RM) communicates with proxy agents to gather information about the state of machines, nodes, queues, jobs, and processes. The proxy may be located remotely.

The RM first starts a proxy and then sends commands to it.

Resource Manager Commands

RM commands are fully asynchronous. They are send from the RM to the proxy. The proxy is expected to respond to commands, but any returned data must be send back asynchronously as separate events.

Protocol for commands
1. The RM creates a transaction id for the command.
@. The RM sends the command plus the transaction id to the proxy.
(A version number should be maintained for the protocol.)
Initialize ("INIT")
Command to initialize the proxy. After this command has been received, the proxy is ready to receive and process other commands from the RM. Initialization data may be passed on the command line when the proxy is run.
Start events ("SENDEVENTS")
Command to start sending events back to the RM. Initially the proxy sends back the full machine state, but sends only state changes as diffs thereafter.
Stop events ("HALTEVENTS")
Command to halt the event stream to the RM.
Finish ("FINISH")
Command for the proxy to cleanup and exit.
Submit job ("SUBMIT")
Command to submit a job.


Proxy Events

The proxy responds to commands from the RM by sending events back to the RM.

Protocol for events
1. The proxy completes (or at least initiates) the command.
2. The proxy sends an event containing the transaction id back to the RM. Any data are returned with the event after the transaction id.
   - create a transaction id
   - command plus transaction id forwarded to remote side
   - need version number of protocol

Back to the top