Advanced Network Administration Computer Clusters
What is a Computer Cluster? A cluster is two or more computers working as a single logical system to provide services. It consists of ● Compute nodes, many of them ● Control node (Front end node) ● Storage node ● Communication Network – connects all the compute nodes, storage nodes and control node
Compute Node ● Where the real computing is done ● Consists of – One or more processors – Memory – Peripheral devices
Control Node Provides services that help other nodes in the cluster ● Infrastructure services: DHCP, DNS, etc. ● Scheduling of tasks ● Monitoring the status of compute nodes ● Issuing management commands to compute nodes ● Handling events or alarms from compute nodes
Storage node ● Provide compute node fast, reliable and simultaneous access to the storage system In some clusters, storage may be direct-attached to compute nodes (hard disk). In other clusters, the storage may be on shared devices (NFS).
Communication Networks Type of communication: ● Interprocess communication ● Control operations ● Software installation ● Storage access (cont')
Network Technologies ● Fast Ethernet ● Gigabit Ethernet ● Myrinet – high performance, high-availability, packet communication and switching technology ( ● Fibra Channel ● Internet Small Computer System Interface(iSCSI) ● InfiniBand
Type of Clusters ● High Performance Clusters (HPC or Beowulf) – ROCKS Cluster ● High Availability Clusters (HAC) – Heart-Beat application ● Load Balancing Clusters (LBC) – LVS – Linux Virtual Server ● High Throughput Clusters (HTC)
Benefits of Clusters ● Redundancy – compute nodes can be easily replaced with minimal cost ● Scalability – Compute nodes can be added incrementally with minimal cost ● Availability – cluster of clusters ● Resource sharing – allocation of cluster nodes dynamically to individual task
Cluster Applications ● Computation Fluid Dynamics ● Molecular Modeling ● Protein Folding ( ● Radio Astronomy ( ● Server consolidation ● On-demand computing (GRID)
Software for Clusters ● Operating System – Economically viable – Easily deployable across the nodes – Support remote access for management and configuration (Linux BIOS) ● File System – Shared file system – Data security and performance
Management tools ● Managing node and group information ● Monitoring and controlling compute nodes ● Running remote commands on multiple nodes ● Synchronizing configuration file on nodes ● Security management and access control ● Trouble-shooting ● Software installation
Linux Clusters ● OpenMOSIX – processes can migrate transparently among compute nodes ● OSCAR (Open Source Cluster Application Resources) – an HPC cluster aims at reducing the need for expertise in setting up a cluster ( ● NPACI Rocks – an HPC cluster aims at making cluster installation as easy as possible.
Using Cluster A simple example using SSH ➔ Using public key encryption ➔ ssh ➔ a=$(ssh
Questions? Q & A