Sincronizzazione distribuita: Mutua esclusione ed elezione



Documenti analoghi
Mutua esclusione distribuita

Indice dei Contenuti

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

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

Coordinazione Distribuita

Sincronizzazione e coordinamento nel distribuito

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

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

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Concorrenza fra processi remoti

Sincronizzazione nei Sistemi Distribuiti

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P P P P P P < P 1, >

Laboratorio di Sistemi Distribuiti Leonardo Mariani

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

Il protocollo BitTorrent

Introduzione. Le sezioni principali che compongono Agimm sono le seguenti : Gestione annunci. Gestione richieste. Gestione contatti.

Progetto di RHS MicroAODV per Reti di Sensori A.A. 2007/2008

Che differenza c è tra una richiesta XML ed una domanda XML? (pag. 4)

Manuale Terminal Manager 2.0

GUIDA AL SOCIAL CARE

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

APPENDICE LINEE GUIDA PER SPERIMENTAZIONE WEB

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

Procedura SMS. Manuale Utente

POSTA ELETTRONICA CERTIFICATA

POSTA ELETTRONICA Per ricevere ed inviare posta occorrono:

La Gestione delle risorse Renato Agati

LIVELLO DATA LINK (DI LINEA)

Guida Compilazione Piani di Studio on-line

monitoraggio dei locomotori via Internet

Software Servizi Web UOGA

Svantaggi della Commutazione di Circuito. Commutazione di Pacchetto. Struttura di un Pacchetto

Amministrazione gruppi (Comunità)

Inizializzazione degli Host. BOOTP e DHCP

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

Guida all uso riservata al cittadino

Università degli Studi di Messina

Guida Operativa per Singolo Atleta Si raccomanda di utilizzare Explorer versione 9 o superiore, Firefox o Chrome aggiornati alle ultime versioni.

NOTA. La presente traduzione non sostituisce in alcun modo il regolamento originale del gioco.

ARCHITETTURA DI RETE FOLEGNANI ANDREA

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

Promemoria delle principali funzioni di Gestione utenti e prestiti in SOL

Sincronizzazione nei Sistemi Distribuiti (parte 2)

Monitoraggio dell attuazione della legge 440/97 Analisi di contesto e Gantt delle operazioni

Sistemi Informativi I Caso di studio con applicazione di UML

CAPITOLO 7 - SCAMBIO DI MESSAGGI

LA SOLUZIONE. EVOLUTION, con la E LA TECNOLOGIA TRASPARENTE IL SOFTWARE INVISIBILE INVISIBILE ANCHE NEL PREZZO R.O.I. IMMEDIATO OFFERTA IN PROVA

Università Politecnica delle Marche. Progetto Didattico

Sistemi Operativi. 5 Gestione della memoria

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

MANUALE ESSE3 Gestione Registro delle lezioni

Profibus vs WorldFIP WorldFip centralizzato e basato sulla schedulazione

Prenota On-line - Manuale Utente

Ata_NiAg02. Modulo Gestione Agenti

Replicazione. Requisisti di consistenza i clienti devono ricevere risposte consistenti e coerenti. Motivazioni

Operazioni di Comunicazione di base. Cap.4

GESGOLF SMS ONLINE. Manuale per l utente

flusso delle informazioni... 2 password... 3 password/ inserimento di una nuova richiesta... 4 le condizioni di vendita... 6

Visual Basic.NET La Gestione degli Errori di Federico BARBATI

R.O.A.S. Roll Out Alpitel System

Gestione della memoria centrale

Indice dei contenuti

Libero Emergency PC. Sommario

Laboratorio di Algoritmi e Strutture Dati

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

Protocollo di tracciamento e valutazione degli studenti dei corsi di italiano ICoNLingua A.A

Contesto: Peer to Peer

TEST DI RETI DI CALCOLATORI I (9400N) anno 1999/2000

Valutazione profili di competenza. Manuale operativo

2. LOGIN E RECUPERO DATI DI ACCESSO

Amministrazione gruppi (all interno della Scuola)

developed by Emanuele De Carlo

PORTALE CLIENTI Manuale utente

Istruzioni per inserire una determina

Reti diverse: la soluzione nativa

Nuovo Order Manager per il software NobelProcera

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

ARCHIVIAZIONE DOCUMENTALE NEiTdoc

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

COME CONFIGURARE UN CLIENT DI POSTA

Service Unavailable. Come Faccio a... Entrare nella mail o nella pagina di accesso alla mail. Evitare di ricevere alcuni messaggi

MANUALE UTENTE. In questo manuale verranno descritte tutte le sue funzioni. Il sistema OTRS è raggiungibile al seguente link:

Servizio online «Distinta d impostazione Lettere» Istruzioni

ARP e instradamento IP

2. LOGIN E RECUPERO DATI DI ACCESSO

ASPI INFORMATION TECHNOLOGY. Guida all uso del servizio di richiesta telematica del NULLA OSTA RILASCIO DOCUMENTAZIONE INCIDENTI STRADALI

Telefonare su PC Panoramica

Manuale servizio Webmail. Introduzione alle Webmail...2 Webmail classica (SquirrelMail)...3 Webmail nuova (RoundCube)...8

Manuale Servizio NEWSLETTER

NOME 0 PROVIDER DOMINIO istruzione.it

Laurea Specialistica in Informatica, Tecnologie Informatiche Anno Accademico 2008/2009 Reti Applicazioni e Servizi

INDICE. Proposta aggiornamento Aggiungi scritta 2. Proposta aggiornamento Sposta scritta 3. Proposta aggiornamento Ruota scritta 4

GestVetrine 1.1 versione novembre 2014

Soluzione dell esercizio del 2 Febbraio 2004

AI DIRETTORI REGIONALI AI DIRETTORI PROVINCIALI e SUBPROVINCIALI AI DIRETTORI DELLE AGENZIE

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

CAMBIO DI GESTIONE DEGLI ESEMPLARI RICHIESTI DALLE BIBLIOTECHE

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

SPORTELLO UNICO DELLE ATTIVITÀ PRODUTTIVE MANUALE OPERATIVO FUNZIONI DI PAGAMENTO ONLINE. Versione 05

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

Transcript:

Sistemi Distribuiti Sincronizzazione distribuita: Mutua esclusione ed elezione 1 Mutua Esclusione (algoritmo centralizzato) a) Il Processo 1 chiede al coordinatore il permesso di entrare in una regione critica. Il permesso gli viene concesso. b) Il Processo 2 quindi chiede al coordinatore il permesso di entrare nella stessa regione critica. Il coordinatore non risponde. c) Quando il Processo 1 esce dalla regione critica, informa il coordinatore, il quale manda il messaggio con il permesso per accedere al Processo 2 2 1

Mutua Esclusione (algoritmo centralizzato) Vantaggi Si garantisce la mutua esclusione Le richieste sono gestite in base all ordine di arrivo (il criterio di assegnazione dei permessi è equo) Nessun processo aspetta all infinito Svantaggi il coordinatore è un potenziale collo di bottiglia. il coordinatore è un single point itof crash. Quando vain crash occorre attivare un nuovo coordinatore o eleggerne uno tra i processi in vita: il nuovo coordinatore dovrà chiedere a tutti il loro stato (in sezione critica, in attesa di entrare, nessuno dei due). 3 Mutua Esclusione (algoritmo distribuito) Algoritmo Distribuito Sviluppato da Ricart & Agrawala (1981) Come funziona? Quando un processo vuole entrare in una regione critica, costruisce un messaggio includendo: NOME REGIONE CRITICA NUMERO DEL PROCESSO TEMPO CORRENTE (orologi logici) Manda il messaggio a tutti gli altri processi 4 2

Mutua Esclusione (algoritmo distribuito) L azione svolta al momento della ricezione del messaggio dipende dallo stato del processo: Se il ricevente non è nella sezione critica e non vuole entrarci, allora spedisce un OK al sender Se il ricevente è nella sezione critica, non effettua reply e mette il processo richiedente nella coda delle richieste Se il ricevente vuole entrare anche lui nella stessa sezione critica, allora confronta i timestamp delle sua richiesta con quella appena arrivata. Accede alla sezione il processo che ha il timestamp più vecchio (quindi manda l OK solo se il timestamp della propria richiesta ha valore più alto, altrimenti memorizza la richiesta in una coda di attesa di richieste pendenti) 5 Mutua Esclusione (algoritmo distribuito) Dopo aver inoltrato la richiesta, il processo aspetta la risposta da tutti. Quando tutti gli altri hanno risposto con un messaggio OK, allora il processo può entrare nella sezione critica All uscita dalla sezione critica il processo manda un OK ai processi che si trovano nella sua coda di attesa 3

Mutua Esclusione (algoritmo distribuito) Senza Lamport Algoritmo distribuito:esempio 5 Processo 0 manda una richiesta a tutti con timestamp=8 Allo stesso istante il processo 2 manda una richiesta a tutti con timestamp=12 Processo 1 manda OK a tutti Processi 0 e 2 confrontano i timestamp: il 2 manda OK allo 0 Il processo 0 vince ed entra nella sezione critica Al termine, il processo 0 manda l OK al processo 2 7 Mutua Esclusione (algoritmo distribuito) Caratteristiche: La mutua esclusione è garantita senza provocare deadlock o starvation; Ogni processo deve mandare la richiesta a tutti (con N processi si ha la necessità di avere 2(N-1) messaggi) si può utilizzare un servizio di Group communication (se la rete supporta il multicast il numero effettivo di messaggi che circolano sulla rete è inferiore a 2(N-1)) in ogni caso ogni processo deve mantenere una propria lista dei membri aggiornata (perché deve sapere se tutti gli hanno mandato l OK). Non esiste un Single Point of Failure... Ne esistono N. (soluzione: rilevare il crash di un processo nel gruppo ed attuare una azione di recovery, che potrebbe semplicemente voler dire fare un broadcast della notizia che il processo non appartiene più al gruppo) 8 4

Mutua Esclusione (2 algoritmo distribuito: Token Ring) Rete fisica Topologia logica (ogni nodo sa chi sono il predecessore e il successore) 9 Mutua Esclusione (2 algoritmo distribuito: Token Ring) Algoritmo Token Ring Un token circola nell anello Quando una stazione riceve il token, Verifica se vuole entrare nella regione critica: Se si Cattura il token Entra nella sezione critica Esegue in sezione critica Esce dalla sezione critica Rispedisce il token Se no Fa passare il token 10 5

Mutua Esclusione (2 algoritmo distribuito: Token Ring) Caratteristiche: Non è permesso entrare in due regioni critiche successive utilizzando lo stesso token Solo un processo alla volta può entrare nella regione critica La starvation non può accadere perché il token circola nell anello 11 Mutua Esclusione (2 algoritmo distribuito: Token Ring) Problemi: Perdita del token E difficile da individuare. Non essendoci bound temporali sul tempo di ciclo del token, non si può sapere se è in ritardo o se è stato perso Situazioni di crash (se si perde un anello della catena si interrompe la continuità del flusso dei token): in questo caso occorre ricostruire i l anello logico eliminando l elemento perso. 12

Mutua Esclusione Confronto tra gli algoritmi proposti Tipo di algoritmo N. messaggi per ciascuna visita alla regione critica Ritardo prima di entrare (in termini di numero di messaggi) Problemi Centralizzato 3 2 Crash del coordinatore Distribuito 2(N-1) 2(N-1) Crash dei processi Token Ring 1 ( se non accede alla RC) 0 N-1 Perdita token, crash processi 13 Problema dell elezione Bully algorithm Come eleggere un coordinatore? Bully Algorithm (Garcia-Molina 1982) Quando un processo nota che il coordinatore non risponde, allora avvia le elezioni. Sia P tale processo. P manda un messaggio ELECTION ad ogni processo con indirizzo superiore al proprio Se nessuno risponde allora P vince le elezioni ed è il nuovo coordinatore Se uno risponde, il compito di P è terminato Alla ricezione di un messaggio ELECTION, un processo con indirizzo più alto di P, avvia la fase di elezione 14 7

Convergenza Problema dell elezione Bully algorithm Al termine, solamente un processo non riceverà messaggi dagli altri. Questo processo è il nuovo coordinatore Se un processo era down e torna ad essere attivo, dà avvio ad una nuova elezione 15 Problema dell elezione Bully algorithm a) Il Processo 4 indice una elezione b) I Processi 5 e rispondono, 4 ha concluso. c) Ora 5 e indicono a loro volta una elezione 1 8

Problema dell elezione Bully algorithm d) Il Processo dice a 5 di terminare e) Il Processo vince l elezione, e lo comunica a tutti 17 Elezione (Ring Algorithm) Si assume che i processi siano ordinati logicamente in un anello: ogni processo sa chi e il suo successore Quando un processo nota che il coordinatore non riponde più, manda un ELECTION message (contenente il proprio numero) al successore Ogni processo che riceve l ELECTION message lo manda al successore aggiungendo il proprio numero Quando il messaggio torna a chi lo ha spedito, si controlla la lista dei numeri. Il più alto è il coordinatore Si manda un messaggio informando tutti dell identità del nuovo coordinatore 18 9

Elezione (Ring Algorithm) 7 0 234501 23450 1 2 2 3 23 4 2345 2345 5 234 è il nuovo coordinatore 19 Elezioni in ambienti senza fili (1) Election algorithm in a wireless network, with node a as the source. (a) Initial network. (b) (e) The build-tree phase 20 10

Elezioni in ambienti senza fili (2) (a-e) The build-tree phase ogni nodo sceglie un solo nodo padre e risponde con un ack agli altri che gli hanno inviato un messaggio di elezione 21 Elezioni in ambienti senza fili (3) (f) Reporting of best node to source ogni nodo restituisce un msg. di elezione al padre (con l id del nodo migliore) solo quando ha ricevuto tutti i msg. di ritorno. Chi ha indetto le elezioni comunica il vincitore. 22 11

Elezioni in sistemi di ampia scala (Selezione di più di un nodo) Requirements for superpeer selection: 1. Normal nodes should have low-latency access to superpeers. 2. Superpeers should be evenly distributed across the overlay network. 3. There should be a predefined portion of superpeers relative to the total number of nodes in the overlay network. 4. Each superpeer should not need to serve more than a fixed number of normal nodes. 23 Elezioni in sistemi di ampia scala Moving tokens in a two-dimensional space using repulsion forces. 24 12

Ringraziamenti Questi lucidi sono un adattamento del materiale preparato dal prof.ssa Giuliana Franceschinis per il corso di Sistemi Operativi II, A.A. 2002/2003 25 13