10 settori che utilizzano il computing distribuito

Tre magazzinieri discutono di idee su un tablet

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.

10 casi d'uso del computing distribuito

I seguenti esempi mostrano i molti modi in cui il computing distribuito viene utilizzato in molti settori e piattaforme:

Comunicazioni

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.

Computing

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.

Gestione dei dati

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.

Energa e utility

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.

Finanza

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.

Produzione industriale

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.

Settore medico

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.

Retail

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.

Scienza

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.

Videogiochi

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.

Cosa costituisce un sistema di computing distribuito?

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:

  • Controllore di sistema primario: il controller di sistema primario controlla tutto all'interno di un sistema distribuito e monitora e traccia tutto ciò che avviene all'interno del sistema. Il suo compito più importante è gestire e amministrare ogni richiesta server che entra nel sistema.
  • Il datastore di sistema: Ii datastore di sistema, solitamente situato nel vault del disco, è il repository del sistema per tutti i dati condivisi. Nei sistemi "non disordinati", i dati condivisi possono risiedere su una macchina o su molte, ma tutti i computer utilizzati nel sistema devono accedere al datastore.
  • Database: i sistemi di elaborazione distribuita immagazzinano tutti i loro dati in database relazionali. Una volta raggiunto ciò, i dati vengono condivisi da gruppi di utenti. I database relazionali mettono immediatamente tutti i lavoratori sulla stessa pagina.

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:

  • Accoppiamento allentato: la connessione tra due componenti ad accoppiamento allentato è sufficientemente debole, affinché le alterazioni a un componente non influiscano sull'altro.
  • Accoppiamento stretto: il livello di sincronizzazione e parallelismo è così elevato nei componenti strettamente accoppiati che un processo chiamato "cluster" utilizza componenti ridondanti per garantire la fruibilità continua del sistema.

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.

Architetture di sistemi di computing distribuito

I tipi di computing distribuito sono tipicamente classificati in base all'architettura di calcolo distribuito che ciascuno utilizza:

  • Sistema client-server: utilizza un'architettura client-server che consente di essere usati con più di un sistema. Un client invia l'input al server come richiesta (di solito un comando per un compito specifico o una richiesta per più risorse di calcolo). Il server lavora quindi per svolgere l'attività e riferire sulle azioni intraprese.
  • Sistema peer: si basa sull'architettura peer ed è anche noto come sistema "peer-to-peer". I sistemi peer utilizzano nodi, che funzionano come client o server, identificando le esigenze ed emettendo richieste o lavorando per soddisfarle. Come suggerisce il nome, non c'è gerarchia nei sistemi peer, quindi i programmi che operano in sistemi peer-to-peer possono comunicare liberamente tra loro e trasferire dati tramite reti peer.
  • Middleware: l'"intermediario" che opera tra due applicazioni distinte. Il middleware è esso stesso un'applicazione che si trova tra due app e fornisce servizio a entrambe. Il middleware ha anche un aspetto interpretativo. Funge da traduttore tra varie app di interoperabilità che vengono eseguite su sistemi diversi e consente a tali app di scambiare liberamente i dati.
  • Sistema a tre livelli: sono così chiamati a causa del numero di livelli utilizzati per rappresentare la funzionalità di un programma. A differenza della tipica architettura client-server in cui i dati vengono inseriti all'interno del sistema client, il sistema a tre livelli mantiene invece i dati memorizzati nel livello intermedio, chiamato livello dei dati. I sistemi a tre livelli sono spesso utilizzati nelle applicazioni web.
  • Sistemi N-tier: volte denominati sistemi distribuiti a più livelli, i sistemi N-tier hanno una capacità illimitata di funzioni di rete, che indirizzano ad altre app per l'elaborazione.L'architettura dei sistemi N-tier è come quella dei sistemi a tre livelli.I sistemi N-tier sono spesso utilizzati come architettura di base per numerosi servizi web e sistemi di dati.

Sebbene questi siano i principali tipi di architettura di elaborazione distribuita, esistono altri paradigmi di elaborazione distribuita che meritano di essere menzionati:

  • Blockchain: la blockchain è un database distribuito o un registro che viene replicato e sincronizzato sui vari computer di una rete. La blockchain aiuta a garantire la ridondanza emettendo il registro di origine a tutti i computer della catena.
  • Grid computing: il grid computing è un tipo di calcolo distribuito che si occupa di workload non interattivi, che di solito coinvolgono una combinazione di framework e software middleware. La griglia scalabile a cui si accede tramite l'interfaccia utente funziona come un file system enorme.
  • Informatica eterogenea: l'informatica eterogenea è una forma di informatica distribuita che consente a un singolo sistema informatico di mantenere sottosistemi informatici. I processori in gioco nel calcolo eterogeneo possono lavorare su compiti diversi, ma tutti lavorano in parallelo per accelerare le prestazioni del computer e minimizzare i tempi di elaborazione dei compiti.
  • Microservizi: i microservizi sono una forma di calcolo distribuito in cui le applicazioni sono suddivise in componenti molto più piccoli, spesso chiamati "servizi". I framework dei servizi sono uniti dall'application program interface (API), che consente l'interazione tra i componenti.

Inizia ora

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à.

Autore

Phill Powell

Staff Writer

IBM Think

Vista dall'alto di un uomo d'affari che usa il telefono cellulare nel cortile dell'ufficio

Insight imperdibili. Iscriviti alla nostra newsletter.

Vai oltre l'hype con le notizie degli esperti su AI, quantum computing, cloud, sicurezza e molto altro.

Iscriviti oggi