The main components of pstack are shown and described below.
Engines are arbitrary software/hardware components capable of simulating POETS
devices as specified in the
graph-schema spec and conforming
to an additional (simple and minimal) protocol to govern their communication
with Redis. pstack ships with a stand-alone POETS simulator psim that
doubles as a compliant engine.
The engine specification is described in Developing pstack
Engines.
2. POETS Daemon (pd)
This is a persistent background process that monitors the job queue on Redis and spawns engines to execute accepted jobs. It handles all aspects of job and process control (e.g. queueing, status reporting and logging).
3. POETS Client (pcli)
A super-charged Python terminal (syntax-coloring, auto-completion and
persistent context) that serves as an entry point for users into a pstack
service. It allows users to:
- Connect to a
pstackdeployment - Start a process by loading a POETS XML file from their machines
- List and control running processes (through equivalent implementations of
psandkill) - Monitor processes and back-end infrastructure in real time (through an equivalent implementation of
top) - Divide application devices into multiple subsets (called "regions") and map these to different engines