Mutua esclusione distribuita



Похожие документы
Sincronizzazione distribuita: Mutua esclusione ed elezione

Sincronizzazione e coordinamento nel distribuito

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

CAPITOLO 7 - SCAMBIO DI MESSAGGI

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

Il problema del produttore e del consumatore. Cooperazione tra processi

Guida Rapida all uso del License Manager di ROCKEY4Smart (V )

Il protocollo BitTorrent

Prenota On-line - Manuale Utente

I componenti di un Sistema di elaborazione. CPU (central process unit)

4 PASSI PER INVIARE LA TUA NEWSLETTER CON MAILUP

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

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Prenota On line Manuale Utente

GESTIONE DEL CARTELLINO

Lezione n.10 LPR- Informatica Applicata RMI CallBacks

INVIO SMS

La Gestione delle risorse Renato Agati

Profibus vs WorldFIP WorldFip centralizzato e basato sulla schedulazione

INDICE. Accesso al Portale Pag. 2. Nuovo preventivo - Ricerca articoli. Pag. 4. Nuovo preventivo Ordine. Pag. 6. Modificare il preventivo. Pag.

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

GUIDA ALL UTILIZZO DEL SITO

1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/ Lato client

Entrare nel sistema. Clicca su Entra per entrare nel sistema. PAGINA 1

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Istruzioni Archiviazione in Outlook 2007

Nell esempio verrà mostrato come creare un semplice documento in Excel per calcolare in modo automatico la rata di un mutuo a tasso fisso conoscendo

Guida pratica all Attivazione della Tessera Card CISL

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

I motori di ricerca. Che cosa sono. Stefania Marrara Corso di Sistemi Informativi

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

SCENARIO. Personas ALICE Lucchin / BENITO Condemi de Felice. All rights reserved.

Sincronizzazione nei Sistemi Distribuiti

Organizzazione degli archivi

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta

Sicurezza nelle applicazioni multimediali: lezione 7, sicurezza dei protocolli. Sicurezza dei protocolli (https, pop3s, imaps, esmtp )

Appunti sulla Macchina di Turing. Macchina di Turing

SOMMARIO... 3 INTRODUZIONE...

istruzioni per l uso

Sequence Diagram e Collaboration Diagram

FRANCESCO MARINO - TELECOMUNICAZIONI

CONFIGURAZIONE GPS LEICA SYSTEM 1200 PER RETE REGIONE PUGLIA

POSTA ELETTRONICA CERTIFICATA

Entrare in Fenice Inserire successivamente la Password : master, scritto miniscolo, e premere Invio

VPN CIRCUITI VIRTUALI

Dimensione di uno Spazio vettoriale

1.0 GUIDA PER L UTENTE

Manuale Fornitore E-Vendor

MANUALE D USO DEL PROGRAMMA GTBIB-SOD

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

Guida Compilazione Piani di Studio on-line

L amministratore di dominio

TaleteWeb Come navigare nella home page dell applicazione

Sistemi Informativi I Caso di studio con applicazione di UML

GENERAZIONE ARCHIVIO F24 AGENZIA ENTRATE

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti

Metodo Condomini e MultiDialogo

Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica.

Cosa dobbiamo già conoscere?

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

Registratori di Cassa

SCHEDULATORI DI PROCESSO

P2-11: BOOTP e DHCP (Capitolo 23)

Analisi e diagramma di Pareto

INTRODUZIONE ALLE MACCHINE A STATI

Efficienza, efficacia, economicità. Alessandro Scaletti

Programma Gestione Presenze Manuale autorizzatore. Versione /08/2010. Area Sistemi Informatici - Università di Pisa

GUIDA ALLO SPESOMETRO IN SUITE NOTARO 4.1 SP4A

Reti di calcolatori ed indirizzi IP

Guida all utilizzo del forum di direzionebandacs.altervista.org

Inizializzazione degli Host. BOOTP e DHCP

Gestionalino-Base è un Software che gestisce altri Software Specifici progettati per

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

Nuova versione di Arianna Office Net RBWeb : Guida alla gestione dei flussi

Effetto reddito ed effetto sostituzione.

Traduzione e adattamento a cura di Gylas per Giochi Rari

VOIP CALL RECORDER VCR2

SOLUZIONE Web.Orders online

Metodi statistici per l economia (Prof. Capitanio) Slide n. 9. Materiale di supporto per le lezioni. Non sostituisce il libro di testo

Guida all attivazione ipase

ARCHIVIAZIONE DOCUMENTALE NEiTdoc

ATTIVAZIONE SCHEDE ETHERNET PER STAMPANTI SATO SERIE ENHANCED

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007

Associazioni dei Consumatori - Telecom Italia

SPECTER OPS. L'obiettivo del giocatore agente è quello che il suo agente completi 3 su 4 missioni obiettivo qualsiasi

SPRING SQ COMUNICAZIONE OPERAZIONI IVA NON INFERIORI A 3000 EURO PER L ANNO 2011

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Транскрипт:

Sincronizzazione del clock Il clock di CPU distribuite non é sincronizzato Clock fisico (difficile) / Clock logico (semplice) In molti casi basta sincronizzare il clock logico Sincronizzazione del clock logico: cosa vuol dire? In molti casi non é necessario che il clock sia riferito al clock reale Sincronizzazione del Clock logico: verifica delle condizioni avvenuto-prima Se a e b sono eventi, allora a b significa che l evento a avviene prima di b Per esempio, se a é l invio di un messaggio, e b la sua ricezione, allora a b La relazione avvenuto-prima é transitiva Il tempo in cui avvengono gli eventi di processi é legato allo scambio di informazioni tra i processi Se due eventi x e y avvengono in processi che non si scambiano informazioni, gli eventi sono detti concorrenti Nella sincronizzazione logica, un evento a avviene in un istante C(a) che non deve essere attinente al tempo fisico, ma rispettare le condizioni avvenuto-prima

Algoritmo di LAMPORT Ipotesi: a é l invio di un messaggio, e b la sua ricezione Ogni volta che arriva un messaggio viene incluso il timestamp dell istante di invio. Quando il messaggio arriva al ricevitore, il clock fisico del ricevitore viene settato a : C(a)=timestamp + 1 Sincronizza il clock logico in modo tale che siano verificate le seguenti condizioni: 1 Se a avviene prima di b nello stesso processo, C(a) < C(b) 2 Se a e b sono l ivio e la ricezione di un messaggio, C(a) < C(b) 3 Per tutti gli eventi a e b, C(a) < C(b), C(a) C(b)

Algoritmo di Lamport (esempio) Esempio: tre processi, ciascuno col suo clock.

Algoritmo di Lamport: soluzione Soluzione di Lamport.

Algoritmo centralizzato Un processo viene eletto come coordinatore Un processo vuole entrare nella Sezione Critica invia un messaggio di Richiesta al coordinatore Se nessun altro processo é nella Sezione Critica, il coordinatore risponde con un messaggio di OK Quando arriva la risposta il processo entra nella Sezione Critica Se non arriva la risposta, il processo conclude che non pu øentrare nella Sezione Critica Se un altro processo é nella Sezione Critica, il coordinatore accoda la richiesta Quando un processo esce da una Sezione Critica, invia un messaggio di Rilascio. Il coordinatore, vede se ci sono richieste in coda e le soddisfa una alla volta Vantaggi: semplice, richiede solo tre messaggi: Richiesta, OK, Rilascio Svantaggi: poco affidabile, collo di bottiglia, un processo non puó distibuere una condizione di Coordinatore terminato o Richiesta rifiutata

Algoritmo centralizzato il processo 1 manda un messaggio al coordinatore per chiedere accesso alla sezione critica

Algoritmo centralizzato la sezione critica non é utilizzata e puó quindi essere impegnata da Th1 Th1 entra nella sezione critica appena riceve un messaggio di consenso dal coordinatore

Algoritmo centralizzato mentre Th1 é nella sezione critica Th2 chiede di utilizzarla

Algoritmo centralizzato il coordinatore non risponde e mette Th2 in coda (Th1 é ancora in SC) attenzione: i thread fanno attesa attiva aspettando un messaggio dal coordinatore

Algoritmo centralizzato il thread 3 chiede accesso alla sezione critica

Algoritmo centralizzato il coordinatore non risponde (Th3 aspetta in attesa attiva)

Algoritmo centralizzato il thread 1 esce dalla sezione critica th1 avvisa il coordinatiore conun messaggio di rilascio

Algoritmo centralizzato appena il coordinatore riceve un messaggio di rilascio risponde al primo thread in coda il primo thread puó entrare nella SC

Approccio distribuito Un processo vuole entrare nella Sezione Critica invia un messaggio di Richiesta a tutti gli altri ptocessi Il messaggio contiene il nome della Sezione Critica, il numero del processo e il timestamp (tempo corrente) Quando un processo riceve un messaggio di Richiesta, allora: 1 se il processo non é nella Sezione Critica, e non ci vuole entrare, risponde con un messaggio di OK 2 se il processo é giá nella Sezione Critca, nonrisponde e accoda la richiesta 3 se il processo non é nella Sezione Critica ma ci vuole entrare, seleziona il processo con il minore numero.. 4 se il processo che ha inviato la richiesta ha il numero minore, il ricevente risponde OK. Se il ricevente ha il numero minore, accoda la richiesta. Quando un processo esce da una Sezione Critica, invia un messaggio di OK a tutti i processi accodati. Svantaggio: l algoritmo é piú costoso e meno robusto dell approccio centralizzato

Approccio distribuito quando un processo vuole entrare nella sezione critica manda un messaggio M a tutti i processi remoti M = nome della regione critica ID del processo clock

Approccio distribuito Caso 1 quando un processo remoto riceve M e non é nella Sezione Critica, risponde OK se il processo che vuole entrare nella SC riceve OK da TUTTI i processi remoti, entra nella SC il processo nella SC riceve M dal processo k, lo mette in coda

Approccio distribuito Caso 2 il processo nella SC riceve M dal processo k, lo mette in coda

Approccio distribuito Caso 2 quando il processo nella SC esce dalla sezione critica, manda OK al processo in coda

Approccio distribuito: token ring logico Algoritmo basato sui token (token ring logico) Quando l anello viene inizializzato, il processo 0 invia un token che circola nell anello Quando un processo acquisisce il toke, vede se vuole entrare nella Sezione Critica, e trattiene il token Quando finisce la Sezione Critica, rilascia il token Vantaggi: assicura la mutua esclusione Svantaggi: affidabilitá Confronto: nr. messaggi ritardo (tempo messaggi) problemi centralizz. 3 2 crash coordinatore distribuito 2(n-1) 2(n-1) crash processi token ring da 1 a infinito da 0 a n-1 perdita di token

Algoritmi di elezione del Coordinatore Stabiliscono il processo coordinatore in ambiente distribuito Ipotesi: 1 ogni processo ha un numero di processo (tipicamente indirizzo IP) 2 ogni processo conosce gli indirizzi degli altri 3 tutti i processi possono diventare coordinatori 4 per semplicitá, si assume 1 processo per macchina Algoritmo dello Spaccone Quando un processo P nota che il coordinatore non risponde, inizia una elezione P invia un messaggio di Elezione a tutti i processi di numero maggiore Se nessuno risponde, P diventa il coordinatore Quando un processo con numero maggiore risponde, diventa il coordinatore Quando un processo diventa coordinatore, invia un messaggio di Vittoria

Elezione coordinatore con Algoritmo ad Anello Si assume che i processi siano collegati ad anello (logicamente o fisicamente) Quando un processo P nota che il coordinatore non risponde, inizia una elezione P invia un messaggio di Elezione a tutti i processi che seguono nell anello Se un processo non risponde, si passa al seguente Ad ogni invio del messaggio, il processo aggiunge il suo numero alla lista processi Quando il messaggio di Elezione ritorna al processo P. Il processo P invia un messaggio di Coordinatore a tutti gli altri, per informare che il nuovo Coordinatore é quello con numero maggiore della lista Quando il processo P riceve il messaggio di Coordinatore, lo rimuove dall anello