Eos Expansion Processing
This section covers Eos Expansion Processing (EEP), which allows you to synchronously distribute entertainment control across the computing resources of multiple compatible Eos Family devices in a networked system, and contains the following topics:
Systems utilizing expansion processing are subject to the Eos Network Requirements.
Expansion Processing Background
Eos Family sessions have always relied on a single device for all tasks related to the management and operation of Entertainment Control Networks. These tasks can be generally broken into three different software layers.
- Fade engine - generates the information streamed to the system, responding to instantaneous changes and outputting data packets for DMX, sACN, Art-Net, and other control protocols.
- Interface - handles displays and user input, keeping onscreen colors, objects, and summaries updated in response to system changes via keys, touch input, and external sources.
- Session management - keeps all devices in a session synchronized, communicating changes in the fade engine and interface, and validating reception and processing of commands.
While only the Host generates output packets, these layers are run by every device in a session in as close to real-time as possible, each refreshing every 22 milliseconds under ideal conditions. A single computer can only handle so many real-time operations. Expansion processing allows Eos to distribute the computational requirements of the fade engine across multiple discrete pieces of hardware.
Eos expansion processing uses a deterministic output design, in which devices are responsible for fade engine processing and output packet generation for any universes assigned to them. In a session utilizing expansion processing, all devices contribute to the total output of the rig. Each universe may only live in a single device, so the device is fully responsible for all fade engine processing and output of that universe to the network.
In this basic expansion processing session, universes 1-40 have been assigned to the Primary-Backup pair, and universes 101-140 have been assigned to an EEP-BEEP pair. Each device processes its assigned universes locally, generating output packets to send over the network.
The session is on the left is similar but with a variation in the Network Topology. The session on the right is more complicated, using two processors with tracking backups.
A well-architected network will ensure that all Eos devices in the session stay in sync, and data makes its way to the relevant output devices.
Session Roles
Devices in a multi-console session may take on one of many Eos Device Roles in order to use expansion processing.
- Host - previously "Master," the Host is whichever of these devices is currently leading the session:
- Client - any device logged in as a full-time participant of the session, with no ability to become a Host.
- Expansion Processor (EEP) - a device logged into Expansion Processing mode for processing and outputting additional universes of data.
- Backup Eos Expansion Processor (BEEP) - a device logged into Expansion Processing mode, assigned to track an EEP and take over in the event of failure.
- Offline - any device that has been logged into Offline mode, which may be on a network, but is not connected to a session and is not outputting.
- Offline w/viz - allows output for visualizers only in Eos for Windows and macOS.
Any device that was logged in but is no longer able to communicate with a session will appear as Disconnected.