This document provides an overview of cluster computing. It defines a cluster as a group of loosely coupled computers that work together closely to function as a single computer. Clusters improve speed and reliability over a single computer and are more cost-effective. Each node has its own operating system, memory, and sometimes file system. Programs use message passing to transfer data and execution between nodes. Clusters can provide low-cost parallel processing for applications that can be distributed. The document discusses cluster architecture, components, applications, and compares clusters to grids and cloud computing.