Il computing distribuito è un processo che utilizza numerose risorse di calcolo in diverse posizioni operative per imitare i processi di un singolo computer. Il computing distribuito assembla diversi computer, server e reti per svolgere attività informatiche di dimensioni e scopi molto diversi.
Il computing distribuito funziona anche nel cloud. E sebbene sia vero che cloud computing distribuito e cloud computing siano essenzialmente la stessa cosa, in teoria, nella pratica differiscono per la loro portata globale, e il cloud computing distribuito è in grado di estendere il cloud computing in diverse aree geografiche.
Nei piccoli sistemi informatici distribuiti con componenti vicini l'uno all'altro, questi componenti possono essere collegati tramite una rete locale (LAN). Nei sistemi distribuiti più grandi, i cui componenti sono separati geograficamente, i componenti sono collegati tramite reti WAN (wide area network). I componenti di un sistema distribuito condividono le informazioni attraverso un elaborato sistema di passaggio di messaggi, su qualsiasi tipo di rete venga utilizzata.
Il computing distribuito spesso affronta le sfide computazionali più intense e complicate di elaborazione, motivo per cui questa attività richiede in genere l'implementazione della memoria condivisa e di più componenti. Inoltre, il computing distribuito si basa su una sincronizzazione altamente coordinata e su una notevole potenza di calcolo, affinché l'intero sistema possa elaborare efficacemente i dati, partecipare alla condivisione file quando necessario e lavorare verso un obiettivo comune.
I seguenti esempi mostrano i molti modi in cui il computing distribuito viene utilizzato in molti settori e piattaforme:
Il settore delle comunicazioni utilizza regolarmente il computing distribuito. Le reti di telecomunicazione sono esempi di reti peer-to-peer, sia che assumano la forma di reti telefoniche che di reti cellulari. Due esempi importanti di informatica distribuita basata sulla comunicazione sono stati Internet e la e-mail, che hanno entrambi trasformato la vita moderna.
Il computing è dominato da grandi rivoluzioni nell'intelligenza artificiale (AI) e nel machine learning (ML). Entrambe le tecnologie stanno avanzando rapidamente e ognuna di esse fa ampio uso dell'informatica distribuita. Gli algoritmi che potenziano IA e ML richiedono grandi volumi di dati di addestramento, oltre a una potenza di calcolo forte e costante. Il computing distribuito fornisce entrambe le cose.
Il computing distribuito trasforma compiti complessi di gestione dei dati e archiviazione dei dati in sotto-compiti distribuiti tra i nodi, che sono entità che funzionano come client o server, identificando bisogni e inviando richieste o lavorando per soddisfarle. La gestione dei database è un'area potenziata dal computing distribuito, così come i database distribuiti, che funzionano più velocemente grazie alla suddivisione dei compiti in azioni più piccole. Il computing distribuito include anche l'uso di data center come parte di una catena di elaborazione distribuita.
I settori dell'energia e dell'ambiente sono entrambi influenzati dal computing distribuito, che assiste la tecnologia smart-grid nella regolazione dell'uso e nell'ottimizzazione del consumo energetico. Le smart grid sono inoltre utilizzate per raccogliere dati ambientali da vari dispositivi di input.
Il computing distribuito assicura che i grandi carichi computazionali vengano condivisi in modo uniforme su più sistemi. Inoltre, i lavoratori di specifiche aree finanziarie stanno già utilizzando l'informatica distribuita per attività come la valutazione del rischio. Il computing distribuito aiuta gli istituti finanziari a elaborare calcoli enormi per informare meglio il processo decisionale e elaborare strategie finanziarie.
Il computing distribuito utilizza le sue molteplici risorse per mantenere l'automazione efficiente in grandi strutture di produzione e spesso svolge una funzione di bilanciamento del carico. Esiste persino la produzione distribuita, che utilizza il modello cloud distribuito e lo applica agli strumenti di produzione, distribuiti geograficamente. La produzione si occupa anche della progettazione e creazione di gadget e strumenti Internet of Things (IoT) che raccolgono e trasmettono dati.
Il computing distribuito aiuta a abilitare molte delle tecnologie rivoluzionarie della medicina moderna, inclusi interventi chirurgici robotici che dipendono da enormi quantità di dati. Sfruttando il suo talento per la grafica 3D e le animazioni video incredibilmente dettagliate, il computing distribuito può dimostrare le procedure di brevetto e la progettazione farmaceutica dei farmaci pianificati.
A volte possono verificarsi discrepanze di inventario per i rivenditori che gestiscono punti vendita fisici oltre a offrire alternative di acquisto online. I Distributed Order Management Systems (DOMS) abilitati dal computing distribuito aiutano a mantenere le applicazioni ecommerce in funzione senza intoppi, così i rivenditori moderni possono tenere il passo con le aspettative in evoluzione dei clienti.
Il computing distribuito viene utilizzato in un numero sempre maggiore di attività scientifiche, come la formazione di reti neurali. Il computing scientifico utilizza anche le enormi funzionalità dell'informatica distribuita per risolvere calcoli scientifici massicci, come quelli che regolano il volo spaziale. Le simulazioni video basate sul calcolo distribuito possono aiutare a comprendere meglio le proiezioni scientifiche.
I fornitori di giochi online massivi multiplayer (MMOG) fanno ampio uso del computing distribuito per creare e gestire i loro complessi ambienti di gioco in tempo reale. Una complessa combinazione di sistemi operativi, reti e processori consente a migliaia di utenti finali di condividere e partecipare a un'esperienza di gioco avvincente.
Sebbene non esistano regole fissate su cosa costituisca un sistema di computing distribuito, anche la forma più semplice di computing distribuito di solito possiede almeno tre componenti fondamentali:
Oltre a questi componenti fondamentali, ogni sistema di computing distribuito può essere personalizzato in base alle esigenze di un'organizzazione. Uno dei grandi vantaggi dell'utilizzo di un sistema di computing distribuito è che può essere ampliato aggiungendo più macchine, aumentando così la sua scalabilità. L'altro vantaggio significativo è la maggiore ridondanza, quindi se una macchina della rete si guasta per qualsiasi motivo, il funzionamento del sistema procede nonostante quel punto di errore.
L'obiettivo dei sistemi di computing distribuito è quello di far funzionare la rete di calcolo distribuito come se fosse un sistema singolo. Questo coordinamento viene realizzato attraverso un elaborato sistema di passaggio di messaggi tra i vari componenti.
I protocolli di comunicazione regolano lo scambio di messaggi avanti e indietro e creano una forma di relazione, chiamata "accoppiamento", tra questi componenti. Questa relazione si esprime in una delle due forme:
La tolleranza ai guasti è un altro concetto chiave, un processo correttivo che consente a un sistema operativo di rispondere e correggere un errore nel software o nell'hardware mentre il sistema continua a funzionare.
Il calcolo distribuito si occupa anche degli effetti positivi e negativi della "concorrenza", l'esecuzione simultanea di più sequenze di istruzioni operative. La principale, tra le sue qualità positive, consiste nel fatto che la concorrenza supporta la condivisione di risorse e il computing parallelo di più thread di processo. (Il computing parallelo non deve essere confuso con l'elaborazione parallela, che è un processo in base al quale le attività di runtime vengono suddivise in attività più piccole).
Gli aspetti negativi associati alla concorrenza includono una latenza aumentata e persino colli di bottiglia nel traffico, dove la quantità di dati trasferiti supera la normale larghezza di banda raccomandata.
I tipi di computing distribuito sono tipicamente classificati in base all'architettura di calcolo distribuito che ciascuno utilizza:
Sebbene questi siano i principali tipi di architettura di elaborazione distribuita, esistono altri paradigmi di elaborazione distribuita che meritano di essere menzionati:
Nel nostro rapido tour dell'informatica distribuita, abbiamo identificato che cos'è l'informatica distribuita, che cosa comporta la creazione di sistemi informatici distribuiti e quali tipi di architetture sono associate ai sistemi informatici distribuiti. Inoltre, abbiamo appreso di 10 settori che stanno costruendo il loro futuro in modo intelligente grazie a un uso speciale dei sistemi di calcolo distribuito.
Come per il calcolo distribuito, i prodotti IBM Satellite ti danno gli strumenti per implementare ed eseguire app ovunque tu voglia, che sia on-premise, tramite edge computing o cloud pubblico.
Sfrutta una serie di servizi cloud comuni che includono toolchain, database e AI. La soluzione cloud distribuita gestita da IBM Cloud Satellite offre servizi cloud, API, criteri di accesso, controlli di sicurezza e conformità.