Dal sistema distribuito al Cluster

Sistema distribuito: è un sistema di dispositivi che comunicano, si coordinano tra loro e vengono visti dall'esterno come un'unica entità.

Mainframe: unità di calcolo ad altre prestazioni a cui si interfacciano i terminali.

Terminale: è un dispositivo che non è in grado di eseguire i calcoli da solo.

Middleware: un insieme di programmi informatici che fungono da intermediari tra diverse applicazioni e componenti software. Sono spesso utilizzati come supporto per sistemi distribuiti complessi.

Sist.||:-indirizzamento condiviso -bus condiviso/multiplo -processo eseguito in parellelo.

Sist. distr.: indirizzamento singolo -bus singolo -migrazione del codice.

Scalabilità
-Nascondere le latenze nella comunicazione (asincrona).

-Distribuzione (computazione, lavoro della cpu,tra molteplici macchine).
-Replicazione e caching (problemi di consistenza).

Trasparenza: il sistema distribuito è visto come un unico sistema anche se è formato da più macchine. non è sempre possibile averla.
-Trasparenza all'accesso (se accedo al sistema localmente non devo accorgermi).
-Trasparenza alla migrazione (non devo sapere se il mio processo viene eseguito su una macchina o sull'altra).
-Trasparenza al riposizionamento/replicazione (non devo accorgermi della posizione dei file. Bisogna aggiornare tutti i file replicati).
-Trasparenza alla concorrenza (non mi devo accoregere che il dispositivo sia richieto da 1 o più processi. Se possibile replico la risorsa).
-Trasparenza al guasto (Se ci sono dei guasti non devo accorgermi. Migrazione del processo su un'altra macchina. Sostituisco la macchina rotta).

Elenco sistemi distribuiti
-cluster computing
-grid computing
-sistemi informatici distribuiti
-sistemi domestici
-sistemi di assistenza sanitaria
-ad hoc network
-sensor network

Virtualizzazione
-virtualizzazione delle risorse HW e SW di sistema (macchine virtuali)
-vitualizzazione dello storage (SAN-STORAGE AREA NETWORK)
-viertualizzazione della rete (VLAN)
-virtualizzazione dell'infrastruttura
molteplici VM su un'unica macchina fisica

Vantaggi
-facilita la portabilità
-facilita la compatibilità
-facilita la migrazione del codice
-indipendenza dall'hardware
-virtual machine legcy, un sistema legacy è un sistema vecchio, non più compatibile con gli amibienti moderni
-consolidamento dei server
-permette di isolare componenti malfunzionanti o soggetti ad attacchi di sicureza

permette di isolare le prestazioni cioè divido il tempo di utilizzo della cpu in modo proporzionale

Livello
-api (application program interface): chiamate da libreria
-abi (application binary interface): chiamate di sistema
-system isa: istruzioni macchina invocabili solo da programmi privileggiati
user isa: istruzioni macchina invocabili da tutti i programmi

Routing dinamico
2 protocolli:
-disatance vector
-link-state

Topologia: è la disposizione dei dispositivi che comunicano tra loro.

Link-State: la topologia dell'intera rete e tutti i costi dei collegament dìsono noti ai ruoter.

Distance Vector: conosce la topologia tra lui e i router confinanti. Ogni router misura la istanza che lo separa dai nodi adiacenti ricevendo dati dai router vicini, poi comunica la propria tabella ai vicini.

Soluzioni al Count ti infinity
-split horizont semplice: un router quando inltra la propria tablla di routing ad un altro router vicino, omette i percorsi cha ha appreso proprio da quel vicino.
-split horizont con poison reverse: metrica con valore predefinito se la destinazione è irraggiungibile.

Migrazione di codice
Motivazioni:
-bilanciare o condividere il carico di lavoro
-risparmiare risorse di rerte e ridurre il tempo di risposta
--processare i dati vicino a dove risiedono
-sfruttare il parallelismo
Processo composto da 3 segmenti:
-segmento delle risorse (il riferimento delle risorse esterne di cui il processo ha bisogno)
-segmento del codice (le istruzioni del programma da eseguire)
-segmento dell'esecuzione (lo stato del processo, stack, program counter, dati privati)
2 tipologie di migrazione:
-migrazione leggera: trasferisce solo il segmento del codice

-migrazione forte: trasferisce anche il segmento dell'esecuzione

Migrazione in ambienti eterogenei
In ambirnti eterogenei la macchina di destinazione può non essere in grado di eseguire il codice perché le interfacce dei processi sono diversi. Usare la virtualizzazione.

Cluster
Tipi:
-cluster ad alta performance (alta capacità di calcolo in tempo breve)
--usati in contesti scientifici
--è importante la possibilità di distribuire il carico di singole computazioni tra più nodi
-Cluster ad alta disponibilità (capacità di gestire più richieste)
-Disaster Recovery (se cade un nodo ce ne sono altri che lo sostituiscono)
Asimmetrico
-un servizio viene erogato solo da un nodo (server primario)
-esiste un server secondario che può sodtituire il primarinell'erogazione del servizio
Simmetrico
Ciascun nodo svolge del lavoro utile, erogando uno o più servizi
-di solito ciascun nodo è il server primario per un certo insieme si servizi, ma può essere anche secondario per altri servizi
-in caso di fallimento di un nodo, ciascuno dei suoi servizi primari vengono riassegnati a un server secondario
Vantaggio: in un cluster simmetrico le risorse di calcolop sono sfruttate meglio
Svantaggio: lo spostamento di un servizio da un nodo all'altro potrebbe portare a un carico eccessivo per il nodo
Load Balancing
È un particolare cluster simmetrico a cui aggiungiamo delle proprietà. un servizio viene erogato attivamente da più nodi. Al limite tutti i nodi del cluster partecipano attivamente all'erogazione del servizio. Non esiste dunque un singolo server primario per il servizio.
Il load balancer gira le richieste ai server del cluster sulla base di un'opportuna politica.

Hai bisogno di aiuto in Telecomunicazioni?
Trova il tuo insegnante su Skuola.net | Ripetizioni
Registrati via email
Consigliato per te
Maturità 2018: date, orario e guida alle prove