Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

Skip to main content

What is Cluster Computing?

Cluster computing is the process of using multiple computing nodes, called clusters, to increase processing power for solving complex problems. Complex use cases like drug research, protein analysis, and AI model training require parallel processing of millions of data points for complex classification and prediction tasks. Cluster computing technology coordinates multiple computing nodes, each with its own CPUs, GPUs, and internal memory, to work together on the same data processing task. Applications on cluster computing infrastructure run as if on a single machine and are unaware of the underlying system complexities.

How did cluster computing technology evolve?

Computing clusters were invented in the 1960s to provide parallel processing power, memory, and storage across multiple computers. Early clusters consisted of personal computers, workstations, and servers. Each computer was connected to a local area network (LAN), allowing users to access resources as if using a single computer.

Over the years, technologies that enable cluster computing have evolved, leading to more diverse use cases, such as high-performance computing (HPC). High-performance computing uses multiple connected processors, possibly hundreds of thousands, to provide massive parallel computing power. Organizations use HPC to support workloads in resource-intensive applications like data analysis, scientific research, machine learning, and visual processing.

Cluster computing in the cloud

Traditionally, setting up computer clusters requires manually installing and configuring the computer, operating system, networking capabilities, and resource distribution mechanisms. In addition, an on-premise setup puts a financial strain on organizations, as scaling the cluster requires investing in more server hardware.

Today, many cloud providers offer managed high-performance computing (HPC) clusters on which organizations can easily deploy their workloads. Instead of setting up thousands of connected computers on-premise, you can access unlimited cloud processing power with AWS HPC.

AWS HPC allows software teams to innovate and scale compute-intensive workloads with available cluster computing services. For example, Hypersonix uses high-performance computing to run high-speed fluid dynamics simulations involving millions of cells in the AWS cloud.

What are the use cases of cluster computing?

Below, we share typical applications of cluster computing technologies.

Big data analytics

Cluster computing can accelerate data analysis by distributing analytical tasks to multiple computers in parallel. For example, you can run complex computations like Monte Carlo, genomics, or sentiment analysis with cloud computing clusters architected to support HPC workloads.

Artificial intelligence and machine learning

Artificial intelligence and machine learning (AI/ML) applications consume massive processing power when training and processing data. With purpose-built cluster computing infrastructure, data scientists can accelerate time-to-results. For example, you can run your AI/ML workload on cloud AI clusters powered by AWS Trainium, a computing chip designed to accelerate AI research. 

3D rendering

Cluster computing enables cluster rendering, a process where multiple interconnected computers synchronize images or videos across various screens. You can also use cluster rendering to support computer-aided engineering, virtual reality, and other applications that require intense graphics processing power.

Simulations

Organizations use computing clusters to simulate possible outcomes from the data to guide business decisions.  Multiple computers, when interlinked, enable an interactive workflow where human experts can extract, review, and refine the results from the underlying models. For example, you can run financial risk analysis by powering the underlying machine learning workloads with resources from connected computers. 

How does cluster computing work?

Cluster computing connects two or more computers over a network to work cohesively as a single system. Typically, a cluster setup consists of computing nodes, a leader node, a load balancer, and a heartbeat mechanism. When the leader node receives a request, it passes the task to the computing nodes. According to how engineers configure the cluster, each node may act on the task separately or concurrently. We explain each component below.

 

Computing nodes

Computing nodes are servers (or cloud instances) that work on distributed tasks. Often, they share the same CPU, GPU, memory, storage, operating system, and other computing specifications. We call this a homogeneous setup. A heterogeneous setup may sometimes be used, where some cluster nodes bear different computing specifications.

Leader node

A leader node is a computer assigned to coordinate how other computing nodes work together. The leader node receives incoming requests and distributes tasks to different nodes under its charge. If the leader node fails, another node will take its place through an election process, usually by consensus of the remaining nodes.

Load balancer

The load balancer is a network device that distributes incoming traffic to the appropriate computing nodes. It keeps track of network activities, resource usage, and data exchange between cluster nodes. In cluster computing, the load balancer prevents computing nodes from being overwhelmed by a sudden surge in requests. Sometimes, the leader node acts as a load balancer through a dedicated load-balancing software tool.

Heartbeat mechanism

The heartbeat mechanism monitors all computing nodes in the cluster to ensure they are operational. When a node fails to respond, the heartbeat mechanism alerts the leader node, redistributing the task to other functional nodes. 

What are the types of cluster computing?

Organizations can set up computing clusters to support various business, performance, and operational goals.

Load balancing clusters

Load-balancing clusters enable operational stability by automatically coordinating resource management. When the cluster receives a request, it distributes the task evenly across all available nodes. This prevents any individual node from being overwhelmed. For example, businesses host ecommerce websites on load-balancing clusters to cater to seasonal traffic spikes. As all nodes collaboratively act on the request, users enjoy a consistent performance despite the high traffic volume.

High availability clusters

High availability (HA) clusters ensure service availability by maintaining redundant nodes. When a single node fails, the load balancer redistributes traffic to the backup nodes, ensuring service continuity at all times. A redundant load balancer is often included in the setup to prevent a single point of failure. This way, the entire cluster can recover promptly if its components fail.

You can configure high availability clusters in two ways.

Active-active configurations

All nodes are operational, whether they are given a task or not. However, if they fail, the load balancer would redistribute the task to healthy nodes.

Active-passive configurations.

Some nodes remain idle during normal operations. They’re only activated when a node fails.

High-performance clusters

High-performance clusters combine multiple computers or supercomputers to solve complex computational tasks at high processing speed. Instead of processing sequentially, high-performance clusters process data in parallel, which benefits resource-intensive applications like data mining. In addition, computing nodes can exchange data as they work towards a common goal. 

What is the role of cluster computing in AI?

AI workloads require massive computing resources, storage, and low-latency network connections. Previously, organizations deployed AI workloads on on-premises data centers. However, as AI applications become more complex, they require more computing power and storage space. When repurposed for AI workloads, cluster computing creates a massive network of supercomputers on which AI workloads can run. Instead of CPUs, the supercomputers are powered by GPUs and TPUs to meet high computational demands. Such cluster architectures, also called AI superclusters, allow organizations to build, deploy, and scale deep learning, autonomous systems, big data analytics, and other AI applications.

How can AWS support you in your cluster computing requirements?

AWS Parallel Computing Service (AWS PCS) is a managed service that uses Slurm to run and scale high-performance computing (HPC) workloads on AWS. You can use AWS PCS to:

  • Simplify your cluster operations using built-in management and observability capabilities.
  • Build compute clusters that integrate AWS compute, storage, networking, and visualization.
  • Run simulations or build scientific and engineering models.

Elastic Fabric Adapter (EFA) is a network interface for computing nodes running on Amazon EC2 instances. Its custom-built interface enhances the performance of inter-instance communications, which is critical to scaling cluster computing applications.

AWS ParallelCluster is an open-source cluster management tool that makes it easy to deploy and manage Amazon EC2 clusters. You can use a simple graphical user interface (GUI) or a text file to model and provision the resources needed for your HPC applications in an automated and secure manner.

Get started with cluster computing on AWS by creating a free account today.