Che cosa caratterizza un sistema distribuito
Un sistema distribuito è un insieme di computer separati che collaborano tramite messaggi scambiati sulla rete; per l’utente sembrano un unico grande computer. Le macchine non condividono memoria fisica né processore, ma perseguono un obiettivo comune. Le proprietà indicate sono:
- trasparenza: l’utente non percepisce le macchine coinvolte;
- apertura: si possono aggiungere componenti senza bloccare il sistema;
- concorrenza: più computer lavorano nello stesso momento;
- tolleranza ai guasti: il guasto di un nodo non interrompe necessariamente il servizio.
Questi sistemi servono soprattutto a gestire carichi molto elevati, come piattaforme con milioni di utenti.
Modelli e prestazioni
Nel modello client/server il client invia una richiesta, il server la elabora e restituisce la risposta. Nel Peer-to-Peer non c’è un server centrale: i peer sono sullo stesso livello e svolgono sia ruolo di client sia di server, come nel download tramite rete Torrent. Per valutare il miglioramento si usa lo Speedup:
dove è la parte parallelizzabile e il numero di computer. La parte sequenziale resta un collo di bottiglia: aggiungere nodi non elimina questo limite.