Autore: Silvestrini

Sistemi centralizzati e distribuiti

In informatica, i sistemi possono essere centralizzati o distribuiti, ciascuno con architetture, vantaggi e limiti specifici. In questo articolo analizziamo le differenze, la classificazione di Flynn, la legge di Moore e le principali caratteristiche dei sistemi moderni.

La Legge di Moore e l’Evoluzione dei Transistor

La Legge di Moore afferma che il numero di transistor su un microchip raddoppia circa ogni due anni, aumentando la potenza di calcolo dei computer. Negli ultimi anni, l’attenzione si è spostata dall’incremento dei transistor all’ottimizzazione dell’architettura dei chip.

Le principali aziende produttrici e designer di chip includono:

  • AMD – nota per l’overclocking e le prestazioni “da forza bruta”.
  • Intel – all’avanguardia nella tecnologia dei processori.
  • Apple, Samsung, NVIDIA, Huawei, Broadcom – leader nella produzione e design di componenti avanzati.

Classificazione di Flynn

La tassonomia di Flynn classifica le architetture dei computer in base al numero di flussi di istruzioni e dati processati simultaneamente:

  • SISD (Single Instruction, Single Data) – un processore esegue un solo flusso di dati. Tipico dei vecchi PC a singolo core.
  • SIMD (Single Instruction, Multiple Data) – una sola istruzione applicata a più dati contemporaneamente. Le GPU moderne sono un esempio.
  • MISD (Multiple Instruction, Single Data) – poco diffusa, praticamente inesistente.
  • MIMD (Multiple Instruction, Multiple Data) – architettura più comune oggi, dove diversi core gestiscono istruzioni e dati differenti.

La Macchina di Von Neumann descrive il modello classico di un computer: CPU, memoria centrale e periferiche connesse tramite un bus di sistema.

Sistemi Centralizzati vs Distribuiti

Sistemi Centralizzati

Nei sistemi centralizzati, dati e applicazioni risiedono su un singolo nodo di elaborazione. I sistemi legacy rientrano spesso in questa categoria, pur essendo datati, ma ancora utilizzati.

Sistemi Distribuiti

Un sistema distribuito è composto da più processi cooperanti, eseguiti in parallelo su unità autonome. Si parla di sistema distribuito se soddisfa almeno una di queste condizioni:

  • Calcolo distribuito
  • Database distribuiti

Tipologie di Sistemi Distribuiti

  • Cluster Computing – un nodo principale coordina i nodi “worker”, creando una macchina virtuale unica.
  • Grid Computing – macchine eterogenee che collaborano per eseguire calcoli complessi.
  • Sistemi Pervasivi – dispositivi smart come smartwatch, elettrodomestici e IoT.
  • Sistemi Informativi – applicazioni web e servizi su larga scala (ad esempio Netflix), che richiedono database distribuiti.

Vantaggi dei Sistemi Distribuiti

  • Affidabilità – guasti su un nodo non compromettono l’intero sistema.
  • Integrazione – combinazione di hardware e software diversi, ottimizzando i costi.
  • Trasparenza – l’utente percepisce un unico sistema, nonostante la distribuzione dei componenti:
    • Accesso – risorse disponibili allo stesso modo ovunque.
    • Localizzazione – non serve sapere dove si trovano le risorse.
    • Concorrenza – più utenti possono usare la stessa risorsa contemporaneamente (es. Google Docs).
    • Replica – le risorse multiple appaiono come una sola.
    • Guasti – errori nascosti all’utente.
    • Migrazione – spostamento di risorse invisibile all’utente.
  • Scalabilità – facile espansione senza interrompere il sistema.
  • Economicità – rapporto qualità-prezzo migliore rispetto ai sistemi centralizzati.
  • Apertura – semplice integrazione di nuovo hardware o software.

Svantaggi dei Sistemi Distribuiti

  • Produzione del Software – inizialmente richiedeva modifiche al modo di programmare, nuovi standard e linguaggi.
  • Complessità – gestione di un gran numero di computer distribuiti.
  • Sicurezza – maggiore esposizione a minacce informatiche.
  • Comunicazione – necessita di reti veloci e affidabili, con continui miglioramenti tecnologici.

Altri Concetti Chiave

  • Middleware – software “collante” tra sistema operativo e applicazioni, che facilita comunicazione e gestione dati.
  • Architettura Client/Server – il client richiede servizi al server.
  • Fat Client – client che esegue parte dei calcoli localmente.
  • Actor – nodo che funge sia da client sia da server.

Il livello di trasporto

Il livello di trasporto rappresenta il 4° livello del modello ISO/OSI e svolge un ruolo fondamentale nelle reti informatiche. Si colloca tra gli strati applicativi e quelli di rete, fungendo da interfaccia per instaurare un canale logico di comunicazione tra processi in esecuzione su host remoti.

Grazie a questo livello, i processi remoti possono comunicare come se si trovassero sullo stesso dispositivo, senza doversi preoccupare di come avvenga il trasferimento dei dati a livello fisico. In altre parole, il livello di trasporto si occupa di mascherare la complessità sottostante e di garantire una comunicazione affidabile tra applicazioni.

Il concetto di canale logico è centrale: si tratta di un collegamento virtuale, dedicato e diretto tra i processi che comunicano. Tuttavia, l’unità informativa non viene trasmessa come un unico blocco, ma viene suddivisa in più segmenti. Ciascun segmento può percorrere strade fisiche diverse all’interno della rete e arrivare a destinazione anche in un ordine differente rispetto a quello di invio. Sarà il livello di trasporto a riordinare i segmenti e ricostruire il messaggio originale.

Un esempio concreto di protocolli che operano a questo livello sono TCP (Transmission Control Protocol) e UDP (User Datagram Protocol).

  • TCP garantisce l’affidabilità della comunicazione grazie a meccanismi di controllo degli errori, numerazione dei segmenti e ritrasmissione in caso di perdita.
  • UDP, invece, sacrifica l’affidabilità in favore della velocità, risultando ideale per applicazioni come streaming o giochi online.

Il livello di trasporto svolge quindi un ruolo cruciale: consente la comunicazione end-to-end tra applicazioni, assicura che i dati arrivino integri e, quando necessario, nell’ordine corretto.

Per approfondire, puoi leggere anche la panoramica sul modello ISO/OSI