Reti di calcolatori LS
Manni
Tiziano
0000279932
 IT e nuovi scenari applicativi …
 … portabilità dei dati …
 … condivisione dati …
 … disponibilità e sicurezza …
 … gestione utenti e cartelle
condivise e/o private
 Realizzare un file system remoto per garantire al cliente la
migliore QoS possibile in base alle risorse dinamicamente
disponibili.
Scalabilità
Disponibilità
LATO
SERVER
Trasparenza
LATO
CLIENT
M
I
D
D
L
E
W
A
R
E
Affidabilità
Fault-tolerance
File System
Remoto
DATA SERVER
LIVELLO DI
STORAGE
CLIENT SIDE
SERVER SIDE
MIDDLEWARE
LOGIC CLUSTER
MANAGER
SERVER
MIDDLEWARE
LIVELLO DI
CONTROLLO
 Struttura ad anello dei manager…
 Ogni manager server gestisce e
coordina una isola di data server …
 … un DB mantiene l’indice logico
dei file presenti nel file system
globale.
 e data server per mantenere i veri
file fisici.
 Logic cluster basato su un modello di high-availability cluster con
bilanciamento di carico
 Vantaggi
 Alta disponibilità
 Alte prestazioni
 Bilanciamento di carico
 Controllo dello stato dei data server a carico del manager (heartbeat)
 Failover controllato sia dal middleware client che dal manager
 Replicazioni con politiche lazy
 Velocizzare tempo di risposta all’utente 
 Possibili casi di non disponibilità dei dati 
 Scelte implementative
 Java versione 6 / Multithread / Socket TCP
 Coordina l’intera architettura lato server
 Gestisce le richieste dei client bilanciando il carico sul livello di storage
 Esegue operazioni di monitoraggio e replicazione
 Mantiene un’immagine consistente del livello di storage sottostante e
delle sue proprietà (anche con i manager vicini)
 Registra i diversi data server e gestisce sia disconnessioni improvvise
che terminazioni lecite
 Ipotesi
 Ipotesi di gusto singolo da parte dei manager (ipotesi restrittiva )
 Almeno un manager raggiungibile dagli indirizzi noti ai client.

Aggiornamento delle locazioni mediante piggybacking da parte dei server 
 Livello di storage dei dati
 Effettivo esecutore del servizio
 Accetta comandi sia dal manager che dal middleware client
 Il loro numero (dinamicamente variabile) determina le
“prestazioni” lato server in fatto di:
 Capacità di replicazione
 Parallelismo di risposta ai diversi client
 Spazio disponibile
 L’amministratore
può gestire le risorse
adattandole al carico richiesto dal servizio
(data
server)
 Nasconde i dettagli della comunicazione con l’architettura
server ai diversi client
 Consente l’integrazione trasparente di diversi client con il
servizio di file hosting tramite un’interfaccia standard
 Gestisce eventuali errori di comunicazione (o di protocollo)
tramite ritrasmissioni e negoziazioni con i diversi server.
 Implementa il load balancing fra i vari manager server
disponibili.
 Ogni cliente sceglie un proprio
manager.
 Eventuali modifiche sul file
system vengono propagate nella
struttura mediante l’anello.
 → per ogni modifica al file
system abbiamo N-1 messaggi
(con N il numero di manager
partecipanti).
?
 Obiettivi
 Aumentare la velocità di risposta ai client
 Caricare al meglio i data server disponibili nel livello di storage
 Politiche nel caso di download
 Possesso del file
 Livello di congestione, cioè numero di connessioni già instaurate
 Connessioni massime ammesse, parametro settabile dall’amministratore
 Politiche nel caso di upload
 Livello di congestione e connessioni massime, come nel caso di download
 Spazio disponibile (e sufficiente)
 Si usa una media pesata dei due fattori, con lo spazio disponibile
predominante

Caricare file su un server con poco spazio limita le possibilità di replicazione 
 Propagazione dello stato di
carico dei data server isolato alle
singole isole dei manager
 Propagazione dello stato di
carico generale del sistema tra i
manager attraverso l’anello con
un sistema time-based.
 Ogni manager server è responsabile
di controllare l’operatività …
 … dei data server presso lui
registrati …
 … e del proprio manager
successivo.
 Struttura ad anello
dinamico:
Vettore
identificativo
ultime modifiche
ricevute
Locazione dei
manager per
richiudere l’anello
1,2,3
 ogni manager che vuole
partecipare al sistema deve
eseguirne la richiesta presso
un manager già attivo ed
operante.
InfoJoin
M2
M1
InfoJoin
Manager de
nuovo manager
 Replicazione time-based decisa dal manager ed eseguita un maniera
autonoma dai data server coinvolti
 Si individuano i file replicabili in base allo stato delle risorse nel livello di
storage
 Le possibili repliche sono ordinate in base alla maggiore dimensione dei file
 Si replicano prima file grandi, ottimizzando lo spazio disponibile nel
livello di storage 
 L’amministratore può controllare il grado di replicazione e quindi
l’overhead
 Impostando il limite massimo di operazioni di replica per intervallo
 Impostando il numero di copie per i file.
Collo di bottiglia rappresentato dal manager server per le capacità
computazionali e per la congestione di rete
• Aumento del numero dei manager e dei data server aumenta
l’overhead
• Modifiche da propagare in caso di modifica del file system 
• Propagazione dello stato di tutti i data server e manager server

Aumentando il numero di
macchine che eseguono i data
server è possibile ottenere
“prestazioni” maggiori
Aumentando il numero di macchine
che eseguono i manager server è
possibile servire un numero
maggiore di clienti mantenendo un
livello di prestazioni accettabile.
 L’obiettivo prefissato è stato raggiunto: una infrastruttura
di file hosting ad alta disponibilità e scalabilità …
 … mantenendo un buon livello di QoS sulla base delle
risorse disponibili.
 Molte estensioni implementabili:
 Supporto multiutente;
 Sicurezza;
 Piggybacking e smart proxy;
 Servizio di nomi;
 Dump sincronizzato dei database.
Scarica

Presentazione reti calcolatori