Il cluster computing è una forma di elaborazione in cui un gruppo di computer sono collegati tra loro in modo che possano agire come una singola entità. Ci sono una serie di ragioni per cui le persone usano i computer cluster per attività di elaborazione, che vanno dall’incapacità di permettersi un singolo computer con la capacità di elaborazione di un cluster, al desiderio di garantire che un sistema informatico sia sempre disponibile. La data precisa in cui questa tecnica è stata sviluppata è sconosciuta e ci sono rivendicazioni concorrenti per il credito dell’invenzione, con alcune persone che suggeriscono che i singoli utenti probabilmente l’hanno sviluppata indipendentemente per soddisfare le loro esigenze informatiche molto prima che la tecnica fosse utilizzata in ambienti industriali.
Un motivo comune per utilizzare il cluster computing è il desiderio di creare ridondanza in una rete di computer per garantire che sia sempre disponibile e che non fallisca. Un’applicazione comune per questa forma di elaborazione è l’hosting di siti Web, con il cluster che distribuisce il carico dei visitatori su una serie di macchine in modo che molti visitatori possano essere ospitati. Questa tecnica viene utilizzata anche per i server di gioco utilizzati da grandi gruppi, per evitare problemi di lag e accesso.
Il cluster computing ad alta disponibilità (HA) viene spesso utilizzato in questo modo, per creare una rete ridondante che sarà sempre accessibile agli utenti, con sistemi di sicurezza in caso di guasto di parti del cluster. I cluster di bilanciamento del carico sono progettati per affrontare un grande carico di richieste in entrata, coordinando le richieste in modo da massimizzare l’efficienza e l’usabilità.
Un’altra applicazione è in grandi progetti che richiedono un calcolo ad alte prestazioni. Alcuni calcoli sono estremamente complessi e richiedono l’uso di più computer in grado di comunicare rapidamente tra loro, poiché i cambiamenti in uno possono cambiare l’intero sistema. Ad esempio, le simulazioni utilizzate per testare le teorie in meteorologia sono spesso eseguite su cluster di calcolo. Senza un cluster, il calcolo potrebbe essere impossibile da eseguire o l’elaborazione potrebbe richiedere molto tempo.
Il cluster computing può essere utilizzato anche per distribuire un carico di lavoro sotto forma di molti piccoli blocchi di dati, una tecnica nota come grid computing. In questo caso, un singolo computer non potrebbe gestire tutto il lavoro, ma molti piccoli computer sì. I vari progetti @home utilizzano questa tecnica per distribuire un carico di lavoro di elaborazione dati su un’enorme rete che include molti computer domestici che si impegnano a svolgere il lavoro quando sono inattivi.