Che cos'è il cluster computing?

Una vista aerea di furgoni in un parcheggio

Che cos'è il cluster computing?

Il cluster computing è un tipo di elaborazione in cui più computer sono collegati in modo che lavorino insieme come un unico sistema. Il termine "cluster" si riferisce alla rete di sistemi informatici collegati programmati per svolgere lo stesso compito.

I cluster di calcolo sono in genere costituiti da server, workstation e personal computer (PC) che comunicano tramite una rete locale (LAN) o una rete geografica (WAN).

Il cluster computing è un tipo di calcolo distribuito, un tipo di calcolo che collega i computer su una rete per eseguire un'attività computazionale, aumentare la potenza di calcolo e funzionare come un unico computer. Ogni computer o "nodo" in una rete di computer ha un sistema operativo (OS) e un core dell'unità di elaborazione centrale (CPU) che gestisce le attività necessarie per il corretto funzionamento del software.

Grazie alle sue prestazioni elevate e all'elevata disponibilità, il cluster computing ha molte applicazioni, tra cui cloud computingintelligenza artificiale (AI), ricerca scientifica e big data analytics.

Le ultime notizie nel campo della tecnologia, supportate dalle analisi degli esperti

Resta al passo con le tendenze più importanti e interessanti del settore relative ad AI, automazione, dati e oltre con la newsletter Think. Leggi l' Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

Come funziona il cluster computing?

Nel suo livello più fondamentale, il cluster computing utilizza una LAN per collegare più computer indipendenti in una rete. Nell'architettura del cluster, ogni computer della rete viene definito "nodo" ed è controllato dal middleware, un software che consente la comunicazione tra ogni macchina. Gli utenti del cluster possono utilizzare le risorse di ogni computer come se fossero una singola macchina, invece che singole macchine collegate tramite una LAN.

Un cluster di calcolo può collegare da un minimo di due a migliaia di nodi. Ad esempio, un cluster Beowulf utilizza tipicamente PC di tipo commerciale collegati tramite una LAN e può essere un'alternativa relativamente conveniente a un supercomputer per determinate attività.1

Kubernetes, d'altra parte, una tecnologia correlata ai container e adiacente ai cluster che è essenziale per il cloud computing, supporta cluster fino a 5.000 nodi separati ma collegati. Kubernetes viene utilizzato in molti tipi di implementazioni cloud, tra cui l'hybrid cloud e le architetture multicloud, oltre a DevOps e alla modernizzazione delle applicazioni.

Architettura del cluster computing

Le architetture di cluster computing sono costituite da un gruppo di singoli computer interconnessi che lavorano insieme come un'unica macchina. Ogni risorsa di calcolo è collegata tramite una connessione ad alta velocità, come una LAN, e nell'architettura del sistema viene definita come un singolo nodo. Ogni nodo ha un sistema operativo, una memoria e funzioni di input e output (I/O).

Esistono due tipi di architetture cluster, aperte o chiuse. In un cluster aperto, ogni computer ha il proprio indirizzo IP. In un cluster chiuso, ogni nodo è nascosto dietro un nodo gateway. Poiché il nodo gateway controlla l'accesso agli altri nodi e gli indirizzi IP possono essere trovati su Internet, i cluster chiusi rappresentano un rischio minore per la sicurezza rispetto ai cluster aperti.

Altri tipi di calcolo distribuito

Oltre al cluster computing, esistono altri due tipi di calcolo distribuito comunemente utilizzati che prevedono reti connesse di computer: il grid computing e il peer-to-peer computing.

Grid computing: in informatica, un'infrastruttura di grid computing è configurata per combinare risorse di calcolo che si trovano in luoghi fisici diversi. Le risorse di calcolo disponibili delle diverse macchine vengono combinate e utilizzate insieme per risolvere un problema. Come il clustering, il grid computing utilizza le risorse di più computer interconnessi.

Tuttavia, a differenza di clustering, vengono utilizzate solo le risorse inutilizzate sui computer collegati tramite l'architettura di rete. Il SETI, Search for Extraterrestrial Intelligence, è stato un famoso esempio di grid computing, in cui le risorse di calcolo inutilizzate di molti computer sono state usate per analizzare i segnali radio provenienti dallo spazio profondo alla ricerca di segni di vita extraterrestre.2

Peer-to-peer computing: il peer-to-peer computing o networking richiede che due o più computer siano collegati come "pari" su una rete, il che significa che hanno pari potenza e autorizzazioni. A differenza del cluster computing, un'architettura P2P non richiede un approccio di gestione centralizzato.

Su una rete P2P, ogni nodo agisce sia come client (un computer che deve accedere a un servizio) che come server (un computer che fornisce un servizio). Ogni nodo peer mette a disposizione degli altri nodi della rete delle risorse, tra cui lo storage, la memoria, la larghezza di banda e altro ancora.

Tecnologie adiacenti

Il cluster computing è stato inventato negli anni '60 come metodo per distribuire le attività di calcolo e il data storage su più computer. Negli anni '80, gli sviluppi di diverse tecnologie adiacenti, tra cui PC, processori versatili e LAN, hanno avuto implicazioni significative per il cluster computing.

Forse la più importante è stata l'uso di nodi di calcolo multiprocessore nel calcolo ad alte prestazioni (HPC). Con la crescita dei casi d'uso dell'HPC, sono cresciuti anche i casi d'uso del cluster computing. Oggi, questi usi includono i settori automobilistici e aeronautici, l'analisi dei dati dai satelliti e dai telescopi e la diagnosi di malattie pericolose, tra gli altri.

Oggi, il cluster computing viene utilizzato in molte delle tecnologie più avanzate che stanno facendo progredire il nostro mondo, come l'intelligenza artificiale (IA), il machine learning (ML) e il cloud computing. Le più grandi aziende del mondo utilizzano il cluster computing per spostare i workload sul cloud, aumentare la velocità di elaborazione, migliorare l'integrità dei dati e altro ancora. A livello aziendale, ai cluster di computer viene spesso assegnato un compito specifico, ad esempio il bilanciamento del carico, l'alta disponibilità o l'elaborazione su larga scala dei dati in un data center.

Calcolo ad alte prestazioni (HPC)

Processori Intel Xeon scalabili di 4a generazione su IBM Cloud

Scopri l'impegno di Intel e IBM per la prossima generazione di microarchitetture per il settore del cloud.

Benefici aziendali del cluster computing

I cluster di calcolo sono progettati principalmente per offrire prestazioni più elevate e maggiore affidabilità rispetto ad altri tipi di architetture di elaborazione, il che li rende indispensabili per le aziende moderne. Ad esempio, i cluster moderni hanno una tolleranza ai guasti integrata, un termine che si riferisce alla loro capacità di continuare a funzionare anche in caso di guasto di un singolo nodo di una rete.

Inoltre, i cluster di computer di grandi dimensioni si basano su file system distribuiti (DFS) e su un array ridondante di dischi indipendenti (RAID) che consente di archiviare gli stessi dati in posizioni diverse su più dischi rigidi. Il cluster computing avvantaggia le aziende moderne in molti modi; ecco alcuni esempi: 

Prestazioni

Grazie alla loro dipendenza dal parallelismo, i cluster di computer sono considerati ad alte prestazioni e possono in genere elaborare i dati più velocemente e gestire carichi di lavoro più grandi rispetto a un singolo computer.

Affidabilità

Il cluster computing è considerato altamente affidabile grazie all'incorporazione di tecnologie DFS e RAID. In un cluster di computer, anche se un singolo nodo si guasta, la rete continua a funzionare e DFS e RAID si attiveranno per garantire che i dati vengano sottoposti a backup in più posizioni. 

Disponibilità

Oltre a essere altamente affidabile, il cluster computing è considerato altamente disponibile anche grazie alla sua capacità di riprendersi rapidamente in caso di guasto di un singolo nodo. Se un cluster funziona correttamente, quando un nodo si guasta, il suo lavoro viene trasferito senza problemi a un altro nel cluster, senza interruzioni del servizio. 

Scalabilità

Il cluster computing è altamente scalabile perché i nodi del cluster possono essere aggiunti in qualsiasi momento per aumentare le prestazioni. La possibilità di regolare dinamicamente le risorse all'interno di un cluster significa che il cluster può aumentare o diminuire le prestazioni, a seconda della domanda. 

Costo

Il cluster computing è più conveniente rispetto ad altri tipi di calcolo. Molte aziende moderne si affidano al cluster computing per migliorare le prestazioni, la scalabilità e la disponibilità della propria infrastruttura IT a un prezzo accessibile.

Tipi di cluster

I cluster di calcolo variano notevolmente sia in termini di complessità che di scopo. I cluster relativamente semplici a doppio nodo, ad esempio, collegano solo un paio di computer, mentre il supercomputer Aurora, invece, ne collega oltre 10.000.3

I cluster hanno molti casi d'uso aziendali grazie alle loro prestazioni elevate, alla scalabilità e alla flessibilità, ma sono anche utilizzati dalle università e dalle scuole di medicina per la ricerca scientifica. In base alle loro caratteristiche, i cluster di calcolo si dividono in tre tipi diversi: a elevata disponibilità, di bilanciamento del carico e ad alte prestazioni. 

Cluster a elevata disponibilità

I cluster a elevata disponibilità trasferiscono automaticamente le attività da un nodo che ha avuto un guasto imprevisto a un altro nodo della rete che è ancora funzionante. Questa capacità di adattarsi rapidamente e facilmente quando un nodo si guasta, li rende ideali per workload in cui è fondamentale evitare l'interruzione del servizio.

Cluster di bilanciamento del carico

I cluster di bilanciamento del carico, o semplicemente i bilanciatori del carico, garantiscono che il lavoro sia distribuito equamente tra i nodi di un cluster. Senza il bilanciamento del carico, i nodi verrebbero sopraffatti dalle attività loro assegnate e si guasterebbero più frequentemente. Esistono diversi tipi di bilanciamento del carico per scopi diversi. Uno dei più famosi, il Linux Virtual Server, è gratuito e open source e viene utilizzato per sviluppare server ad alte prestazioni e a elevata disponibilità basati sulla tecnologia di clustering.

Cluster di calcolo ad alte prestazioni

Gli HPC cluster sono una rete di potenti processori in grado di elaborare enormi set di dati multidimensionali, noti anche come big data, a una velocità estremamente elevata. Richiedono reti ad alta potenza e una latenza bassissima per spostare i file tra i nodi.

A differenza dei cluster di bilanciamento del carico e a elevata disponibilità, gli HPC cluster hanno una maggiore potenza di elaborazione e sono appositamente progettati per l'analisi dei dati, come la diagnosi di malattie, l'analisi di grandi quantità di dati finanziari e il sequenziamento dei genomi. Inoltre, gli HPC cluster utilizzano l'interfaccia MPI (Message Passing Interface), un protocollo per architetture di calcolo parallelo che consente la comunicazione tra i nodi.

Cluster di intelligenza artificiale

I cluster di AI sono cluster di calcolo appositamente creati per workload di AI e ML, come il riconoscimento facciale e vocale, l'elaborazione del linguaggio naturale (NLP) e la guida autonoma. I cluster di AI sono progettati appositamente per gli algoritmi su cui i modelli AI si addestrano.

Casi d'uso del cluster computing

I cluster di calcolo hanno un'ampia gamma di usi. Dalle applicazioni aziendali come il cloud computing e l'analisi dei dati, al software che aiuta a creare effetti speciali in 3D per il cinema, ecco alcuni esempi:

big data analytics

Il cluster computing è in grado di elaborare grandi volumi di dati in modo rapido ed efficiente e ciò lo rende uno strumento ideale per l'analisi dei big data. Dal potente motore di ricerca di Google, al software che analizza il mercato azionario, all'analisi del sentiment sui social media, le applicazioni del cluster computing nell'ambito dell'analisi dei dati sono grandi e varie.

Grafica 3D

Le funzionalità di elaborazione parallela del cluster computing alimentano la grafica più avanzata nei videogiochi e nei film. Utilizzando un cluster di nodi indipendenti, ciascuno con la propria unità di elaborazione grafica (GPU), il cluster computing rendering (o cluster rendering) genera un'immagine calibrata e singola su più schermi. Questo processo riduce notevolmente il tempo necessario per creare immagini 3D di alta qualità.

Intelligenza artificiale e machine learning

Nei workload di AI e ML, il cluster computing aiuta a elaborare e analizzare vasti set di dati in modo rapido e accurato, una parte essenziale dell'addestramento di potenti modelli AI che alimentano applicazioni popolari come ChatGPT.

Analisi del rischio

Le compagnie assicurative e le società di trading finanziario utilizzano il cluster computing per analizzare i dati e quantificare i rischi legati all'acquisto di determinate azioni o alla fornitura di assicurazioni a determinati clienti. Il cluster computing viene utilizzato per analizzare grandi set di dati ed estrarre informazioni significative che possono essere utilizzate per prendere decisioni aziendali più informate.

Soluzioni correlate
Suite IBM Spectrum LSF 

IBM Spectrum LSF Suites è una piattaforma di gestione dei workload e un programma per la pianificazione dei lavori per il calcolo ad alte prestazioni (HPC) distribuito.

Esplora Spectrum LSF Suites
Soluzioni server e storage con High Performance Computing (HPC) | IBM

Le soluzioni HPC hybrid cloud di IBM aiutano ad affrontare attività ad alta intensità di calcolo su larga scala e a velocizzare il tempo di generazione di insight.

Esplora le soluzioni HPC
Soluzioni per l'infrastruttura cloud

Trova la soluzione di infrastruttura cloud adatta alle esigenze della tua azienda e scala le risorse on-demand.

Soluzioni cloud
Fasi successive

Potenzia i tuoi workload di AI e ad alta intensità di calcolo più impegnativi con le soluzioni HPC di IBM. Utilizza la flessibilità dell'hybrid cloud e l'infrastruttura innovativa per accelerare il tuo percorso verso l'innovazione.

Esplora le soluzioni HPC