As the end user, you are encouraged to think of the Parallel Operating Environment (POE) (also referred to as the poe command) as an ordinary (serial) command. It accepts redirected I/O, can be run under the nice and time commands, interprets command flags, and can be invoked in shell scripts.

An n-task parallel job running in POE consists of: the n user tasks, a number of instances of the IBM PE partition manager daemon (pmd) that is equal to the number of nodes, and the poe command running on the POE home node. There is one pmd for each node. A pmd is started by the POE home node on each machine on which a user task runs, and serves as the point of contact between the home node and the users' tasks.

The POE home node routes standard input, standard output, and standard error streams between the home node and the users' tasks with the pmd daemon, using TCP/IP sockets for this purpose. The sockets are created when the POE home node starts the pmd daemons for the tasks of a parallel job. The POE home node and pmd also use the sockets to exchange control messages to provide task synchronization, exit status and signaling. These capabilities do not depend on the message passing library, and are available to control any parallel program run by the poe command.