This document provides an overview of cluster computing. It defines a cluster as a collection of interconnected computers working together as a single system. The key components of a cluster are applications, middleware, operating systems, and an interconnect. Clusters can be used for parallel and distributed processing using multiple nodes. Nodes include master and compute nodes. Clusters provide benefits like availability, performance, and scalability through the use of commodity hardware and software. Popular tools for clustering include Linux, compilers, MPI and PVM. Example applications are Google Search and petroleum simulation.