A cluster is a type of parallel computing system made up of interconnected standalone computers that work together as a single integrated resource. Clusters provide high-performance computing at a lower cost than specialized machines. As applications requiring large processing power become more common, the need for high-performance computing via clusters is increasing. Programming clusters can be done using message passing libraries like MPI, parallel languages like HPF, or parallel math libraries. Clusters make high-level computing more accessible to groups with modest resources.