File system distribuito transazionale con replicazione

Slides:



Advertisements
Presentazioni simili
Fabbisogno delle Professioni Sanitarie a.a. 2012/2013
Advertisements

Meccanismi di IPC Problemi classici di IPC
Sistema per la gestione del
/ fax
Corsi per il personale Bicocca-Insubria
File System Cos’è un File System File e Directory
Gestione del processore
1 Processi e Thread Meccanismi di IPC, Inter Process Communication (1)
1 Processi e Thread Meccanismi di IPC (1). 2 Comunicazioni fra processi/thread Processi/thread eseguiti concorrentemente hanno bisogno di interagire per.
1 la competenza alfabetica della popolazione italiana CEDE distribuzione percentuale per livelli.
1 System Call per Comunicazione tra Processi Pipe.
DNS: Il Servizio Directory di Internet
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Come programmare servizi di rete?
Dipartimento di Ricerca Sociale - Università del Piemonte Orientale 1 Castelli Aperti giugno 2005 Castello di Camino (AL) IL PUBBLICO DI CASTELLI.
File.
1 Il servizio di prestito e fornitura documenti ILL-SBN una visione di insieme caratteristiche della procedura illustrazione delle funzionalità
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
I numeri relativi by iprof.
2) Sistemi operativi Lab. Calc. AA2004/05 - cap.2.
Concetti introduttivi
Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio.
Le transazioni Itis Max Planck.
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Progetto Di Uninfrastruttura Che Permetta La Modifica Di Dati Condivisi Distribuiti Su Più Nodi Reti di calcolatori L-S Gozzi Daniele
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Distributed File System Service Dario Agostinone.
Corso di Informatica per Giurisprudenza Lezione 7
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Progettazione multimediale
Guida IIS 6 A cura di Nicola Del Re.
Test Reti Informatiche A cura di Gaetano Vergara Se clicchi sulla risposta GIUSTA passi alla domanda successiva Se clicchi sulla risposta ERRATA passi.
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
1 Questionario di soddisfazione ATA - a. sc. 2008/09 Il questionario è stato somministrato nel mese di aprile Sono stati restituiti 29 questionari.
Server Web in una rete Windows Sommario Meccanismi di accesso remoto Meccanismi di accesso remoto Introduzione ai Server Web Introduzione ai Server.
LE SAI LE TABELLINE? Mettiti alla prova!.
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
1101 = x 10 x 10 x x 10 x = CORRISPONDENZE
Fondamenti delle Reti di Computer Seconda parte Carasco 15/04/2010.
1 Ripassino Reti di Computer Carasco 19/02/ Che cosa è una rete informatica? Una rete informatica è un insieme di computer connessi tra di loro.
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012.
Ad opera di: Matteo Donatelli e Maurizio Di Paolo Presentazione su : Elettropneumatica 1.
Documentazione Tecnica
Bando di Residenza Cap Scheda ENTE 3ROL - Richieste On Line.
Threads.
Pippo.
Modulo 6 Test di verifica
Bando Pittori e Scultori in Piemonte alla metà del ‘700
a cura di Francesco Lattari
lun mar mer gio ven SAB DOM FEBBRAIO.
FTP File Transfer Protocol
I processi.
1 Analisi della gestione finanziaria dal 04 Gennaio 2008 Fondo Pensione Astri Comparto Bilanciato report al: 4 giugno 2010.
1 Esercitazione Sistemi distribuiti: sistemi che risisedono su più calcolatori interconnessi da una rete di comunicazione Algoritmi distribuiti: programmi.
Greco Rodolfo 2002 Application Trasport Network Phisic HTTP IP UDPTCP DNS SNAP MAC ARP L’utente fa una richiesta di pagina.
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Configurazione IP4a-1 Configurazione IP Reti II Stefano Leonardi.
Politecnico di Milano © Domenico Barretta Processi concorrenti in Unix Docente Domenico Barretta Politecnico di Milano
Studio di una soluzione distribuita per la gestione di un centro sondaggi.
Sistema di replicazione master-multislave con server di backup per un servizio di chat di Marco Andolfo matr
Infrastruttura per la gestione distribuita di un sistema di prenotazione Progetto di: Fabio Fabbri Matricola
Progetto di un Group Communication System Reti di Calcolatori LS A.A Giampaolo Capelli.
Progetto di un sistema di comunicazione di gruppo con multicast causale Reti di Calcolatori L-S Marco Canaparo Matricola
Servizio di newsgroup con replicazione dei server Studente: Letizia Cheng Cheng Sun Matricola: Reti di Calcolatori LS – Prof. A. Corradi A.A. 2003/2004.
Progetto e Realizzazione di un servizio di Chat Progetto di: Nicoli Leonardo Corso di: Reti di Calcolatori L-S.
Progetto RE.VE.N.GE. MQ REliable and VErsatile News delivery support for aGEncies Sistema di Distribuzione Reti di Calcolatori LS – Prof. Antonio Corradi.
Reti di Calcolatori LS - Fabio Poli 15 Giugno 2006 Sviluppo di un player di Campo Minato multigiocatore con supporto di Chat MultiCast.
Alex Marchetti Infrastruttura di supporto per l’accesso a un disco remoto Presentazione del progetto di: Reti di calcolatori L-S.
Socket programming in Java La realizzazione di un server in Java consente di scrivere una sola versione eseguibile su diverse piattaforme. Il linguaggio.
Transcript della presentazione:

File system distribuito transazionale con replicazione Prof. Valeria Cardellini Candidati: Alessandro Pacca Marina Dorelli Vienna Codeluppi

Obiettivi del lavoro: Creare un file system distribuito Supporto delle proprietà ACID Atomicità Consistenza Isolamento Durabilità Tolleranza a determinate failure Client: Omissioni, failstop, bizantini Server: Failstop Atomicità: Le operazioni di lettura e scrittura vengono completate in modo atomico. FUFFA, tanta fuffa! Ovvero, o l’operazione viene portata completamente a termine o non viene svolta. Consistenza: Non ci devono essere incongruenze tra i dati presenti nei vari nodi Isolamento: Due operazioni parallele devono essere effettuate una dopo l’altra in serie Durabilità: I dati devono essere permanenti Omissioni: Il client perde alcuni messaggi inviati durante la transazione. Il server deve tenere conto della possibile perdita. Failstop: Crash! Il client (o il sever) subisce un crash durante la transazione o lo scambio di messaggi Bizantini: Il client o il server hanno un comportamento anomalo, del tutto casuale. Inviano messaggi arbitrari. Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Architettura del sistema Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Architettura del sistema Pacchetto applicativo Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Architettura del sistema Meccanismi di comunicazione tra processi Socket: Due processi non residenti sulla stessa macchina comunicano tra di loro tramite i socket Area di memoria convidisa: E’ vista da tutti i processi residenti sulla stessa macchina Utilizzata tra i processi figlio che servono le richieste dei client Contiene i nomi dei file attualmente aperti dal server e su cui si intende effettuare una scrittura PIPE: Utilizzata per permettere a due processi di comunicare tra di loro. Permette la comunicazione tra il figlio che serve le richieste dei client e il figlio che gestisce le richieste di agrawala. Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Architettura del sistema Funzionalità del DNS Fornire ai Client l’indirizzo IP di un client secondo la modalità Round- Robin Fornire ai Server gli indirizzi IP degli altri server facenti parte del sistema distribuito. Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Architettura del sistema Struttura del DNS Il DNS è di tipo ricorsivo All’avvio viene creato un processo padre Il processo si occupa di: Ascoltare le richieste Creare un figlio che fornisce indirizzi IP e porta Rimettersi in ascolto di altre richieste dopo aver creato il figlio Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Architettura del sistema Funzionalità del server Verso i server Lista file Richiesta di commit Aggiornamento dei file Copia dei file Sincronizzazione del file system Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Architettura del sistema Funzionalità del server Verso i client Lista file Lettura dei file Scrittura e modifica dei file Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Architettura del sistema Struttura del server Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Architettura del sistema Interazione tra client e server Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Architettura del sistema Interazione tra client e server Il client contatta il DNS Il DNS fornisce indirizzo IP e porta per contattare il sistema distribuito Si connette ad un server Interagisce con il server tramite una serie di operazioni Il server effettua le operazioni richieste e conferma la corretta esecuzione Il client chiude la connessione Il figlio del server termina la sua esecuzione Il client termina Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Primary-based local-write Tipo di consistenza Primary-based local-write Questo protocollo prevede che il client contatta il server il quale diventa primary ed effettua le modifiche dà la conferma al client e poi inoltra gli aggiornamenti agli altri server Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Mutua esclusione in ambito distribuito Algoritmo di Ricart-Agrawala Il processo server che vuole accedere alla CS invia una richiesta a tutti gli altri processi del sistema I processi che ricevono la richiesta Se non intendono accedere alla CS danno l’ok Se è stata fatta richiesta di accedere alla CS confrontano il proprio ID con quello del server che ha effettuato la richiesta Se il proprio ID è minore ha la precedenza e non risponde Se è maggiore dà l’ok Una volta ricevuta la conferma da tutti accede alla CS effettua le modifiche Una volta finita la scrittura invia la conferma ai processi che eventualmente sono in attesa di permesso per accedere alla sezione critica Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Mutua esclusione in ambito distribuito Algoritmo di Ricart-Agrawala Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Mutua esclusione in ambito locale File locking Meccanismo che permette la scrittura di due processi server concorrenti su uno stesso file Quando un server ha intenzione di effettuare delle modifiche a un file Effettua delle chiamate di sistema per avere accesso esclusivo al file fcntl() con opzioni per effettuare lock ed unlock del file le opzioni sono passate tramite struct di tipo flock Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Tolleranza alle failure Failure lato client: omissioni Client e server hanno già stabilito una connessione e si scambiano messaggi. Durante la transazione il client non può inviare un nuovo messaggio fin quando non ha avuto conferma dal server Viene controllato il numero di sequenza dei messaggi nel campo timpestamp del pacchetto applicativo Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Tolleranza alle failure Failure lato client: failstop Il server subisce un crash Il client ha un timeout Una volta scaduto: Se il server non è disponibile per l’avvio di una comunicazione il client effettua una nuova richiesta al DNS Se il server crasha durante uno scambio di messaggi, il client effettua 5 tentativi di ritrasmissione. Se non vanno a termine chiude la connessione Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Tolleranza alle failure Failure lato client: comportamenti bizantini Il client invia messaggi arbitrali al server Il server e il client, ad ogni scambio di messaggi, controllano il campo “tipo operazione” (e IDgenerato nel caso di invio/ricezione di file) Se non coincide, il server chiede nuovamente il messaggio Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Tolleranza alle failure Failure lato server: failstop Il client subisce un crash Il server ha un timeout Una volta scaduto: Se il client crasha durante uno scambio di messaggi, il server effettua 5 tentativi di ritrasmissione. Se non vanno a termine chiude la connessione. Se il server stava effettuando operazioni di scrittura su un file, vengono annullate. Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

TESTING senza failure Avvio del server Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Scrittura di un file: client TESTING senza failure Scrittura di un file: client Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Scrittura di un file: server TESTING Senza failure Scrittura di un file: server Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Failstop: failure del client TESTING delle failure Failstop: failure del client Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Failstop: failure del server TESTING delle failure Failstop: failure del server Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Failure bizantine del client TESTING delle failure Failure bizantine del client Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

TESTING delle failure Omissioni Marina Dorelli, Vienna Codeluppi, Alessandro Pacca

Conclusioni Replicazione del DNS Algoritmo di suddivisione del carico per il DNS diverso da Round-Robin Ricart-Agrawala completo per ordinamento temporale delle scritture Testing su file di grandi dimensioni (> 30MB) non effettuato Marina Dorelli, Vienna Codeluppi, Alessandro Pacca