Indice dei Contenuti

Documenti analoghi
22/05/2013. Indice dei Contenuti. Global State (1) Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano

Coordinazione Distribuita

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Ordinamento degli eventi. Lezione 11. Osservazioni. Relazione verificato prima. Cenni ai sistemi operativi distribuiti 3. Coordinazione distribuita

Mutua esclusione distribuita

Sincronizzazione distribuita: Mutua esclusione ed elezione

Sincronizzazione e coordinamento nel distribuito

Sincronizzazione nei Sistemi Distribuiti (parte 2)

corso di Sistemi Distribuiti 3. La concorrenza tra processi remoti nei sistemi distribuiti

Sincronizzazione nei Sistemi Distribuiti

Concorrenza fra processi remoti

Pronto Esecuzione Attesa Terminazione

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

ARCHITETTURA DI RETE FOLEGNANI ANDREA

Il Sistema Operativo

Manuale Servizio NEWSLETTER

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

Strutturazione logica dei dati: i file

Università Politecnica delle Marche. Progetto Didattico

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Il sistema C.R.M. / E.R.M.

Manuale Terminal Manager 2.0

Corso di Amministrazione di Reti A.A. 2002/2003

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti

Esercizio data base "Biblioteca"

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

NOVITÀ SITI COMMERCIALISTA

Organizzazione degli archivi

La Metodologia adottata nel Corso

CitySoftware PROTOCOLLO. Info-Mark srl

Procedura SMS. Manuale Utente

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

CONTENT MANAGEMENT SY STEM

Database. Si ringrazia Marco Bertini per le slides

SUAP. Per gli operatori SUAP/amministratori. Per il richiedente

Sistemi Operativi. Lez. 13: primitive per la concorrenza monitor e messaggi

Soluzione dell esercizio del 2 Febbraio 2004

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Indice. pagina 2 di 10

2. LOGIN E RECUPERO DATI DI ACCESSO

Amministrazione gruppi (Comunità)

Invio SMS. DM Board ICS Invio SMS

INVIO SMS

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

GestVetrine 1.1 versione novembre 2014

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Sistema operativo: Gestione della memoria

Migrazione del servizio di posta elettronica. istruzioni per gli amministratori delle mailing-list

SISTEMI OPERATIVI. Deadlock (blocco critico) Domande di verifica. Luca Orrù Centro Multimediale Montiferru 04/06/2007

Base di dati e sistemi informativi

Reti di Telecomunicazione Lezione 8

MODELLISTICA DI IMPIANTI E SISTEMI 2

CAPITOLO 7 - SCAMBIO DI MESSAGGI

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

GUIDA STUDENTI HOMEPAGE DEI CORSI ON-LINE

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

Amministrazione gruppi (all interno della Scuola)

Manuale del Docente - Scienze Politiche

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?

Chat. Connettersi a un server di chat. Modificare le impostazioni di chat. Ricevere impostazioni chat. Chat

Gestione Turni. Introduzione

CREAZIONE DI UN AZIENDA

IL SISTEMA INFORMATIVO

ITIS Mattei Sondrio. Appunti veloci su moodle versione 2.7

Project Cycle Management La programmazione della fase di progettazione esecutiva. La condivisione dell idea progettuale.

Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta

Raccolta dei Requisiti con i Casi D'uso. Corso di Ingegneria del Software Anno Accademico 2012/13

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Laboratorio di Informatica

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Monitor. Introduzione. Struttura di un TDA Monitor

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

GENERAZIONE ARCHIVIO F24 AGENZIA ENTRATE

SITO DI ZONA

Deadlock e Starvation

Come si può vedere, la regola è stata fatta in modo da spostare tutti i messaggi di Spam nella cartella del cestino.

ESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file.

T E O R I A D I P R O G E T T A Z I O N E D E L S O F T W A R E

Sistema GEFO. Guida all utilizzo Presentazione delle domande

Artifact Centric Business Processes (I)

Cerca Compra Vendi. Guida passo per passo all utilizzo del sito

INTERNET e RETI di CALCOLATORI A.A. 2011/2012 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

Brochure Internet. Versione The Keyrules Company s.r.l. Pagina 2 di 8

Reti di calcolatori ed indirizzi IP

Inserimento dei dati

Il protocollo BitTorrent

Deadlock (stallo) Parte III. Deadlock

Università degli Studi di Messina

Guida Compilazione Piani di Studio on-line

PROGETTO PER LA TRASMISSIONE DOCUMENTI RELATIVI ALL APPROVAZIONE DELLE MANIFESTAZIONI IN FORMA DIGITALE

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica

Reti di Telecomunicazione Lezione 7

Transcript:

Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano /24 Global State - 3 Mutua esclusione e sistemi concorrenti - 7 Algoritmi per la Mutua Esclusione - 10 Algoritmi basati su autorizzazioni 11 Algoritmi basati su token - 15 Algoritmi basati su quorum - 19 Algoritmi di Elezione - 20 Algoritmo Bully - 21 Algoritmo ad Anello - 23 Indice dei Contenuti Conclusioni 24 Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 2/24 1

Global State (1) 1. Lo stato globale di un sistema distribuito è dato dalla collezione degli stati locali di ogni processo più i messaggi in transito. 2. La conoscenza dello stato globale è utile in molti casi. 3. Uno snapshot distribuito è uno stato in cui un sistema distribuito si può trovare (uno stato globale consistente). Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 3/24 Global State (2) Fig. 1 - a) Un taglio consistente ; b) Un taglio inconsistente Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 4/24 2

Global State (3) Usando i distributed snapshots è possibile memorizzare uno stato globale. Vediamo come attraverso l algoritmo di Global State 1. Un processo P inizia l algoritmo memorizzando il proprio stato e invia un marker M nei canali di uscita che communica al processo destinatario Q di contribuire alla memorizzazione dello stato globale. Fig. 2 - Organizzazione di un processo Q e dei canali per uno snapshot distribuito Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 5/24 Global State (4) Lo stato locale di Q è memorizzato Fig. 3 Funzionamento Snapshot Distribuito 2. Quando un processo Q riceve un marker per la prima volta memorizza il suo stato locale e invia il marker nei suoi canali di uscita (Fig. 3 - b) 3. Q memorizza tutti i messaggi in arrivo (Fig. 3 c) 4. Q riceve un marker dai suoi canali di input e decide di terminare la registrazione dei messaggi in ingresso. (Fig. 3 - d) Il contributo del processo Q allo Stato Globale è così disponibile. Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 6/24 3

Global State (5) Quando un processo ha ricevuto ed elaborato tutti i marker nei suoi canali di ingresso completa il suo compito per l algoritmo e invia lo stato memorizzato. Un processo qualsiasi può iniziare l algoritmo e il marker sarà etichettato con l identificatore del processo iniziatore. Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 7/24 Mutua esclusione e sistemi concorrenti (1) La mutua esclusione nasce nei sistemi concorrenti N processi vogliono accedere ad una risorsa condivisa Ogni processo vuole acquisire la risorsa ed utilizzarla in modo esclusivo senza avere interferenze con gli altri processi Ogni algoritmo di mutua esclusione comprende Una sequenza di istruzioni chiamata Sezione Critica (CS) L esecuzione della sezione critica consiste nell accesso alla risorsa condivisa Una sequenza di istruzioni che precedono la sezione critica è chiamata trying protocol (TP) Una sequenza di istruzioni che seguono la sezione critica è chiamata exit protocol (EP) La gestione della risorsa condivisa viene condotta da uno scheduler che sceglie di volta in volta a quale processo consentire l esecuzione della prossima istruzione, ossia a quale processo dare accesso alla risorsa critica La sequenza decisa dallo scheduler che comprende tutte le istruzioni dei diversi processi è chiamata Schedule Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 8/24 4

Mutua esclusione e sistemi concorrenti (2) Tre proprietà sono utili a definire il problema: 1. Mutua esclusione (ME) o safety o sicurezza: al più un processo per volta è nella sezione critica 2. No deadlock (ND): se un processo rimane bloccato nella sua trying section, esistono uno o più processi che riescono ad entrare ed uscire dalla sezione critica 3. No starvation (NS) o posticipazione indefinita: nessun processo può rimanere bloccato per sempre nella trying section NS implica ND NS, oltre ad implicare una proprietà di liveness, specifica un comportamento paritetico dei vari processi (fairness o equità) Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 9/24 Algoritmi per la Mutua Esclusione Soluzioni basate su variabili condivise per realizzare la mutua esclusione tra N processi: Algoritmi basati su autorizzazioni A1 Un processo che vuole accedere ad una risorsa condivisa chiede l autorizzazione L autorizzazione può essere gestita in modo centralizzato (unico coordinatore) oppure in modo decentralizzato o completamente distribuito Algoritmi basati su token A2 Tra i processi circola un messaggio speciale, detto token Il token è unico in ogni istante di tempo Solo chi detiene il token può accedere alla risorsa condivisa Algoritmi centralizzati e decentralizzati Algoritmi basati su quorum (o votazione) A3 Si richiede il permesso di accedere ad una risorsa condivisa solo ad un sottoinsieme di processi Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 10/24 5

A1 Algoritmo Centralizzato 1. La richiesta di accesso ( ENTER ) ad una risorsa in mutua esclusione viene inviata ad un coordinatore centrale 2. Se la risorsa è libera il coordinatore informa il mittente che l accesso è consentito ( GRANTED ) 3. Altrimenti il coordinatore accoda la richiesta con politica FIFO e informa il mittente che l accesso non è consentito ( DENIED ) Oppure non risponde nel caso di sistema sincrono 4. Il processo che rilascia la risorsa ne informa il coordinatore ( RELEASED ) 5. Il coordinatore preleva la prima richiesta in attesa e invia GRANTED alsuo mittente Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 11/24 Vantaggi A1 - Algoritmo Centralizzato (2) Garantisce la mutua esclusione No starvation Semplice e facile da implementare : Solo 3 messaggi (richiesta, risposta e rilascio) per ogni accesso alla CS Svantaggi Il coordinatore è il singolo point of failure dell algoritmo Il coordinatore può diventare il collo di bottiglia per le prestazioni Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 12/24 6

A1 - Algoritmo Decentralizzato Algoritmo basato su DHT /24 A2- Algoritmi basati su token Viene utilizzato il metodo del token: Usato in molti approcci relativi ai sistemi distribuiti; L algoritmo deve definire come vengono fatte le richieste per il token, mantenute e servite; In un algoritmo basato su token in ogni istante esiste un solo processo che possiede il token Il meccanismo garantisce la safety della mutua esclusione Tipi di algoritmi basati su token: Centralizzato (o approccio token-asking o su richiesta): esiste un processo coordinatore unico, responsabile della gestione del token Decentralizzato (o approccio perpetuum mobile): il token si muove nel sistema e porta con sé tutte le strutture dati necessarie Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 14/24 7

A2- Algoritmi basati su token approccio decentralizzato Il token viaggia da un processo all altro I processi sono organizzati in un anello logico - Il token viene passato dal processo pk al processo p(k+1)mod N Il processo che ha il token è abilitato all accesso alla CS Se un processo riceve il token ma non ha necessità di accedere alla CS, passa il token lungo l anello Fig. 5 Anello Logico Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 15/24 Vantaggi A2- Algoritmi basati su token - approccio decentralizzato Se l anello è unidirezionale, viene garantita anche la fairness Rispetto al centralizzato, migliora il bilanciamento del carico Svantaggi Il token si può perdere; in questo caso, occorre rigenerarlo Perdita di token anche per malfunzionamenti hw/sw Soggetto al crash dei singoli processi Se un processo fallisce occorre riconfigurare l anello logico Se fallisce il processo che possiede il token occorre eleggere il prossimo processo che avrà il token Rischio e attenzione ai guasti temporanei che possono portare alla creazione di token multipli L algoritmo usa sempre banda per trasmettere il token anche quando nessuno chiede l accesso alla CS Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 16/24 8

8 22/05/2013 Confronto Una comparazione dei tre algoritmi di mutua esclusione appena visti Algoritmo Messaggi per entrare/uscire Ritardo prima di entrare (in messaggi) Problemi Centralizzato 3 2 Crash del Coordinatore Decentralizzato 2 ( n 1 ) 2 ( n 1 ) Crash di un processo Token ring 1 a Da 0 a n 1 Token perso, processo in Crash Tab. 1 Confronto di Algoritmi Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 17/24 A3 - Algoritmi basati su quorum Per entrare in una CS occorre sincronizzarsi solo con il sottoinsieme dei processi interessati Algoritmi di votazione all interno del sottoinsieme I processi votano per stabilire chi è autorizzato ad entrare in CS Insieme dei processi votanti associati al processo i-mo pi: Vi ={p1,, pn} con Vi Vj per ogni i, j Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 18/24 9

A3 un Algoritmo Distribuito Un algoritmo di autorizzazioni basato sul modello distribuito è senza dubbio quello proposto da Ricart e Agrawala, che contempla 3 tipi di messaggi: REQUEST REPLY RELEASE 1. Quando un processo pi vuole accedere alla sezione critica manda un messaggio REQUEST agli altri N-1 membri di Vi 2. Quando un processo pj riceve un messaggio REQUEST da un processo pi, pj manda immediatamente un messaggio di REPLY indietro, a meno che non si trovi esso stesso in sezione critica o abbia già inviato un messaggio di REPLY ad un altro processo che non ha ancora rilasciato la sezione critica (ha già votato). Nel caso non gli mandi immedidatamente un messaggio di REPLY allora pj accoda la richiesta di pi. 3. Per rilasciare la sezione critica un processo pi invia un messaggio di RELEASE a tutti gli altri N-1 membri di Vi 4. Quando un processo riceve un msg di RELEASE allora elimina la prima entry dalla coda e manda un msg di REPLY al processo la cui richiesta è stata appena cancellata Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 19/24 A3 un Algoritmo Distribuito (2) Qualora 2 processi dovessero richiedere di entrare in CS nello stesso istante, ha la precedenza il processo con TimeStamp più basso Fig. 4 Algoritmo Distribuito a) Due processi (0 e 2) vogliono entrare nella regione critica nello stesso istante b) Il processo 0 ha il timestamp più basso (Ts=8), e vince. c) Quando il processo 0 ha finito, invia un OK, quindi il processo 2 può accedere alla regione critica. Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 20/24 10

Algoritmi di Elezione Algoritmi per eleggere un coordinatore (con un ruolo speciale) tra i processi che compongono una applicazione distribuita. Ogni processo è identificato da un identificatore numerico (ID). Ogni processo conosce l identificatore di tutti gli altri processi. Ma non sa quali sono attivi e quali non lo sono. Un algoritmo di elezione termina quando tutti i processi condordano su un coordinatore. Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 21/24 Algoritmo Bully Un processo P gestisce una elezione come di seguito: 1. P invia un messaggio ELECTION a tutti i processi con ID maggiore del proprio. 2. Se nessuno risponde, P diventa il nuovo coordinatore. 3. Se un processo con ID maggiore risponde, questo continua l algoritmo di elezione. 4. Il nuovo coordinatore informa tutti i processi. Fig.6 L algoritmo di elezione Bully: a) Il processo 4 inzia l algoritmo di elezione b) I processi 5 e 6 rispondono, informando 4 di fermarsi c) Adesso 5 e 6 prendono in carico la continuazione dell algoritmo Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 22/24 11

Algoritmo Bully Un processo P gestisce una elezione come di seguito: 1. P invia un messaggio ELECTION a tutti i processi con ID maggiore del proprio. 2. Se nessuno risponde, P diventa in nuovo coordinatore. 3. Se un processo con ID maggiore risponde, questo continua l algoritmo di elezione. 4. Il nuovo coordinatore informa tutti i processi. Fig.7 L algoritmo di elezione Bully: d) Il processo 6 informa il processo 5 di fermarsi e) Il processo 6 diventa il coordinatore e informa tutti Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 23/24 Algoritmo ad Anello Algoritmo di elezione che fa uso di un anello: 1. Ogni processo conosce chi è il suo successore 2. L algoritmo di elezione è iniziato da un processo che invia un messaggio ELECTION con il suo ID al suo successore. 3. Ogni mittente aggiunge il suo ID al messaggio. 4. Quando il messaggio ritorna all iniziatore, esso controlla il valore maggiore e invia il messaggio COORDINATOR sull anello con il numero del nuovo coordinatore. Fig. 8 Algoritmo di elezione che fa uso di un anello: I processi 2 e 5 rilevano il crash del coordinatore e avviano l algoritmo. Alla fine il processo 6 sarà eletto coordinatore. Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 24/24 12

Conclusioni Lasciate ai discenti del Corso Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano 25/24 13