Architecture Design
Bright Cluster Manager was designed by a group of highly experienced cluster specialists who perceived the need for a fundamental approach to the technical challenges posed by cluster management.
The result is a scalable and flexible architecture, forming the basis for a cluster management solution that is extremely easy to install and use, yet is suitable for the largest and most complex clusters.
Head Nodes & Slave Nodes
A cluster can have different types of nodes, but it will always have at least one head node and one or more "slave" nodes.
A slave node is a node which is controlled by the head node and which receives its software image from the head node or from a dedicated provisioning node.
Slave nodes come in different flavors. Some examples include:
- Failover Node — A node that can take over all functionalities of the head node when the head node becomes unavailable.
- Compute Node — A node which is primarily used for computations.
- Login Node — A node which provides login access to users of the cluster. It is often also used for compilation and job submission.
- I/O Node — A node which provides access to disk storage.
- Provisioning Node — A node from which other slave nodes can download their software image.
- Workload Management Node — A node that runs the central workload manager, also known as queuing system.
- Subnet Management Node — A node that runs an InfiniBand subnet manager.
More types of slave node can easily be defined and configured with Bright Cluster Manager.
In simple clusters there is only one type of slave node — the compute node — and the head node fulfills all cluster management roles that are described in the slave node types mentioned above.
Elements of the Architecture
All types of nodes (head nodes and slave nodes) run the same CMDaemon. However, depending on the role that has been assigned to the node, the CMDaemon fulfills different tasks. This node has a 'Login Role', 'Storage Role' and 'PBS Client Role'.
The architecture of Bright Cluster Manager is implemented by the following key elements:
- The Cluster Management Daemon (CMDaemon)
- The Cluster Management Shell (CMSH)
- The Cluster Management GUI (CMGUI)
All types of nodes (head nodes and slave nodes) run the same CMDaemon.
However, depending on the role that has been assigned to the node, the CMDaemon fulfills different tasks.
Connection Diagram
A Bright cluster is managed by the CMDaemon on the head node, which communicates with the CMDaemons on the slave nodes over encrypted connections.
The CMDaemon on the head node exposes an API which can also be accessed from outside the cluster. This is used by the cluster management Shell and the cluster management GUI, but it can also be used by other applications if they are programmed to access the API. The API documentation is available on request.
The diagram below shows a cluster with one head node, three slave nodes and the CMDaemon running on each node.
|