EGO component overview

EGO manages the supply of logical and physical resources, making them available to applications.

EGO provides the underlying system infrastructure to enable multiple applications to operate within a shared resource infrastructure in IBM® Spectrum Symphony. Just as an operating system running on a single machine aggregates and virtualizes physical resources and allocates them to applications, EGO performs similar functions, but across a distributed environment.

The following diagram depicts the EGO components:
EGO manages cluster resources (including management and compute hosts) using a resource distribution plan built on a resource-sharing model

Hosts can be divided into two groups: management hosts and compute hosts. Management hosts provide specialized services to the cluster, while compute hosts run user workload.

Management hosts

Management hosts provide both cluster and workload management services within the cluster, and are not expected to run workload for users. The primary host, all primary-candidate hosts, and session manager hosts must be management hosts. Other management hosts include the Web server host and the host running the data loaders and data purger for the reporting feature.

Management hosts can be used for any of the following types of hosts:
The primary host
The primary host is the first host installed in the cluster. The primary host controls the rest of the hosts in the cluster and is the interface to the clients of the cluster. The resource manager (vemkd) for the cluster resides on this host.
The primary host candidates
There is only one primary host at a time. If the primary host fails, another host automatically takes over the primary host role. Hosts that can act as the primary are called primary candidates.
Session manager host
One or more management hosts run session managers. There is one session manager per available slot on a management host. There is one session manager per application.
Web server hosts
Two management hosts serve as web servers:
  • The web server hosting the cluster management console. Only one management host is elected as the web server host; it does not, however, need to be a dedicated host. Any management host can be the web server (decided when the cluster starts up).
  • The REST web server hosting the RESTful APIs for resource management, package deployment, and MapReduce.
Database host
The database host runs the database used for reporting in your cluster.
  • For a demonstration cluster, the Derby database runs as a system service (derbydb) on a management host that you specify during installation. There is no failover, so if this host fails, reporting does not work properly.
  • For a production cluster, you must use a supported commercial database, and the host does not need to be part of the cluster.

Compute hosts

Compute hosts provide computing resources to consumers. A cluster may contain any number of compute hosts, but must have at least one compute host.
CPU slots

A CPU slot is the unit used to measure compute resources. A single CPU slot can run one service instance on a compute host, or one session manager on a management host.

Daemons

IBM Spectrum Symphony uses the following daemons:
  • VEMKD: The VEM kernel daemon that runs on the primary host. It starts other daemons and responds to allocation requests
  • EGOSC: The EGO service controller requests appropriate resources from the VEMKD and controls system service instances.
  • PEM: Process execution manager works for the VEMKD, starting, controlling, and monitoring activities, as well as collecting and sending run time resource usage.