I/O Forwarding
  • managing stdin/stdout/stderr from agents
    • Create a special stream to handle I/O.
    • Stdin can be delivered to a specific agent, or multicast to some agents.
    • Allow customizations/annotations of the filters
    • Having the capability to have a line based stream or a byte based one.
    • Handle I/O for a combined agent/user application on a case-by-case basis
  • I/O from the application is the agents responsibility

Notes from Dec 3-5 meeting:

  • I/O forwarding is a service provided by STCI
  • Components
    • Service agents
    • Service junctions
    • Service stream
  • Service Agent
    • Runs on the compute node and "reads" stdio and stderr from the process or agents
    • Forwards these along the Service Stream
  • Service Junctions receive I/O from Service Agents and forward them down the stream, applying any filters specified
  • Adding new (user) agents
    • When new (user) agents are added
      • A new Service Agent is created for each new (user) agent
      • A new Service Stream is created to forward I/O
        • because the new Service Agent can't be added to an existing Service Stream
    • This will results in the FE having many I/O streams
    • These streams can be periodically merged into a single stream to keep the number of streams manageable
      • E.g., after 100 I/O streams have been created in this way
    • Merging streams may require flushing the old streams before switching to using the new (merged) stream, so the merging operations should not be done frequently
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License