Coordinamento e sincronizzazione
|
|
- Rossana Marchese
- 5 anni fa
- Visualizzazioni
Transcript
1 Coordinamento e sincronizzazione Tempo locale e globale Nei sistemi distribuiti non esiste un orologio fisico globale Algoritmi di sincronizzazione e di coordinamento Applicazioni: correttezza di sequenze di operazioni coerenza di informazioni serializzazione di transazioni gestione della replicazione protocolli di autenticazioni Ordinamento degli eventi Processi,,, p N senza memoria condivisa con clock locale Ogni processo è eseguito su una CPU s i stato del processo p i Orologi Comunicazione basata su scambio di messaggi e i e se l evento e occorre prima di e nel processo p i h =< e i 0, e i 1, > storia degli stati del processo i Molti algoritmi basati sulla sincronizzazione di orologi fisici logici SD8. Rete Orologi fisici Tempo Universale Coordinato Basati sul numero di oscillazioni in un cristallo ad una data frequenza (Cesium 133) L orologio genera un interrupt ad intervalli regolari C i (t) clock (locale) del processo p i al tempo fisico t possibile timestamp per gli eventi che occorrono in p i Due eventi risultano successivi solo se la risoluzione del clock (tempo fra due aggiornamenti successivi del valore del clock) é minore dell intervallo di tempo fra I due eventi successivi Diversi clock locali possono avere valori diversi Skew Drift rate differenza istantanea fra il valore di due clock differenza rispetto ad un orologio ideale variazioni fisiche del cristallo e delle oscillazioni (frequenza) Es.: orologio al quarzo 10-6 sec/sec -> 1 sec ogni milione di sec, ~ 11.6 giorni orologio atomico sec/sec Tempo atomico internazionale (IAT) SD8.3 UTC standard internazionale basato su IAT Sec: periodi di transizione fra due livelli iperfini di stato solido del Cesio 133 sincronizzato e inviato in broadcast periodicamente Es. GPS Global Position System S sorgente di tempo UTC Sincronizzazione di orologi fisici D precisione I intervallo esterna se forzata da agenti esterni S(t)-C i (t) <D 1 i N, per ogni t in I C i sono accurati entro la precisione D interna se concordata fra un insieme di processi C i (t)-c j (t) <D 1 i,j N, per ogni t in I C i concordano entro la precisione D S. interna S. esterna ( D) (D) SD8.4 1
2 Correttezza degli orologi Algoritmi di sincronizzazione di orologi Un orologio fisico H è corretto se la distorsione (drift) è entro una soglia ρ>0 -> dati t, t se t >t allora (1 - ρ)(t -t) H(t ) - H(t) (1 + ρ)(t -t) Un orologio C è monotono se avanza soltanto se t >t allora C(t )>C(t) H orologio fisico H i (t) C clock software C i (t) = a H i (t) + b, a, b costanti regolabili dc/dt variazione del clock nel tempo Sistema distribuito Algoritmi di sincronizzazione interna sincrono asincrono centralizzati Algoritmi distribuiti SD8.5 Relazione fra UTC e clock quando gli orologi avanzano a velocità differenti nei nodi SD8.6 Algoritmi di sincronizzazione di orologi Algoritmi di sincronizzazione di orologi: Cristian Note: Sistema distribuito sincrono precisione D massimo ritardo di trasmissione di un messaggio tempo per eseguire ogni passo del processo p invia un messaggio con il clock locale t p riceve il messaggio e pone il proprio clock locale a t+t com T com tempo di trasmissione di un messaggio m=t p p Sistema distribuito asincrono - Algoritmi centralizzati Algoritmo di Cristian time server connesso ad UTC passivo: fornisce a richiesta il tempo ai clienti p m r mt Time server T min soglia minima per T com T max soglia massima per T com possibile in un sistema sincrono Se p pone il clock = t+ T min (oppure = t+ T max ) -> errore Δ=(T max - T min ) t+ (T min + T max )/ -> errore Δ/ Per N processi scelta ottima -> errore Δ (1 1/Ν) SD8.7 Ogni macchina chiede periodicamente il tempo Alla ricezione della risposta (t): - controlla il clock - calcola il ritardo della rete (almeno T min ) come T round (round trip) - pone clock a t+t round / Metodo probabilistico approssimato L algoritmo permette la sincronizzazione solo se il tempo T round è breve SD8.8
3 Sincronizzazione di orologi con un time server: Cristian Il server pone nel messaggio di risposta il tempo t all ultimo momento utile T min minimo tempo di trasmissione T round round trip time -> il messaggio di risposta arriva nell intervallo [t + T min, t + T round - T min ] t t + T min t + T round - T min Algoritmi di sincronizzazione di orologi: Berkeley Sistema distribuito asincrono - Algoritmi centralizzati Algoritmo di Berkeley time server attivo coordinatore che - chiede periodicamente a tutti il valore del clock - riceve le risposte e calcola una media tramite una stima - indica chi deve accelerare o rallentare inviando un valore correttivo ± δ T min T round Ampiezza T round - T min Precisione ± (T round / - T min ) Problemi: - server centrale - limiti alla affidabilità e prestazioni soluzione: insieme di server sincronizzati e comunicazione multicast dai clienti - possibili errori (trasmissione, intenzionali) -> tecniche di autenticazione SD8.9 SD8.10 Algoritmi di sincronizzazione di orologi: Berkeley Algoritmi di sincronizzazione di orologi: NPT Si basa sul tempo T round (round trip) fra cliente e servente, che si assume limitato superiormente Variante: la media non considera i tempi troppo lontani o con valori anomali Media fault tolerant Problemi: - server elemento centrale - limiti alla affidabilità in caso di guasto si elegge un nuovo server tempo non limitato -> in quel periodo non è garantito il controllo della sincronizzazione Sistema distribuito asincrono - Algoritmi distribuiti Network Time Protocol definisce una architettura per una time service protocollo per la distribuzione del tempo su Internet Obbiettivi del progetto - fornire un servizio che permetta a tutti clienti della rete una sincronizzazione accurata del clock fisico con UTC - uso di tecniche statistiche di filtro per trattare l informazione proveniente da vari server - servizio affidabile che tollera perdite di connessione anche lunghe basata su ridondanza dei serventi e dei cammini tecniche di riconfigurazione in caso di guasto - scalabilità, permette la sincronizzazione frequente anche in presenza di molti nodi - protezione da interferenze casuali e/o intenzionali Insieme di server primari secondari connessi direttamente ad un ricevitore UTC sincronizzati ai primari - gerarchia SD8.11 SD8.1 3
4 Esempio di sottorete di sincronizzazione di una implementazione NTP Scambio di messaggi fra coppie di processi NTP 1 Server B t t 3 Tempo archi: controllo di sincronizzazione etichette di nodi: livelli foglie: stazioni di utente 1. multicast Sincronizzazione dei server. procedure call 3. modo simmetrico maggiore affidabilità minore precisione 1. per reti LAN ad alta velocità - piccolo ritardo -relativa scarsa precisione. come nell algoritmo di Cristian: il server è passivo e aspetta le richieste - maggior precisione - necessario se non vi è multicast 3. scambio di messaggi con timestamp - per i livelli più bassi -maggior precisione SD8.13 Server A t 1 m m' t 4 Tempo Comunicazione non affidabile: UDP Si calcola la differenza offset (o) fra i clock ed il ritardo (d) di trasmissione dei due messaggi t = t 1 + T AB + o t 4 = t 3 + T BA - o d = T AB + T BA = (t - t 1 ) + (t 4 - t 3 ) o = o i + (T BA - T AB )/ o i = ((t - t 1 ) - (t 4 - t 3 ))/ stima dell offset si può mostrare che o i - d i / o o i + d i / Calcolo delle successioni di <o i, d i > e ricava la stima di offset e precisione Si mantengono le ultime coppie (e.g. otto) e si sceglie il valore o j corrispondente al minimo valore di d j SD8.14 Orologi logici - ordinamento causale Orologi logici Nei sistemi distribuiti non si può avere perfetta sincronizzazione di orologi fisici => non si possono usare gli orologi fisici per ordinare qualunque coppia di eventi Processi,,, p N e i e se l evento e occorre prima di e nel processo p i h =< e i 0, e i 1, > storia degli stati del processo p i Quando p i manda un messaggio m a p j l evento send(m) precede l evento receive(m) Definizione. Ordinamento causale (ordinamento parziale, happened-before) fra eventi, denotato da 1) Se p i : e i e e e ) messaggio m send(m) receive(m) 3) Se e, e, e sono eventi : e e, e e e e Da cui, se per due eventi e ed e, e,, e n : =e, e n =e, i=1,,n-1 si applica 1) o ) per e i ed e i+1, allora e e altrimenti e e Se due eventi e ed e non sono in relazione (e e, e e) allora sono eventi concorrenti e e Orologi logici [Lamport] rappresentazione dell ordinamento causale (happened-before) (orologio) contatore software, indipendente dal tempo fisico Al processo p i è associato l orologio logico o timestamp L i ad ogni evento e in p i è associato il tempo L i (e) La relazione di ordinamento causale è soddisfatta se si aggiornano gli orologi logici con LC1 L i = L i + 1 evento che occorre in p i si incrementa l orologio logico LC se p i invia un messaggio m, manda in piggybacking il valore t = L i se p j riceve un messaggio (m,t) pone L j = max ( L j, t ) e applica LC1 per l evento receive(m) SD8.15 SD8.16 4
5 Orologi logici - monotonia Orologi logici - vector clock Orologi logici: incremento unitario o di qualsiasi valore positivo e e L(e) < L(e ) p 3 a e b m 1 p.es. inizializzando a 0 i valori di L sono considerare e e b c d m f Physical Tempo time fisico Per ottenere un ordinamento totale si può considerare la coppia (timestamp, p i ) ed imporre un ordinamento sui processi (T i, i) < (T j, j) T i < T j (T i = T j i < j ) Nota Con l orologio di Lamport L(e)< L(e ) e < e Un altro ordinamento che supera questo limite della definizione di Lamport è il vector clock Al processo p i è associato un vettore di orologi V i usato per i timestamp locali Le regole di aggiornamento sono VC1 inizialmente V i [ j ] =0 i, j=1,,n VC V i [ i ] = V i [ i ] + 1 evento che occorre in p i si incrementa l orologio logico VC se p i invia un messaggio m, manda in piggybacking il valore (vettore) t = V i VC4 se p i riceve un messaggio (m,t) pone V i [ j ] = max (V i [ j ], t [ j ] ) j=1,,n (merge) SD8.17 SD8.18 Orologi logici - vector clock Orologi logici - vector clock V i [ i ] V i [ j ] rappresenta il numero di eventi occorsi in p i e marcati da p i rappresenta il numero di eventi occorsi in p j e che hanno potenzialmente influenzato p i Ne deriva che V(e)< V(e ) e < e Inoltre: V = V V [ i ] = V [ i ] i = 1,,N Contrariamente ad L V V V [ i ] V [ i ] i = 1,,N V <V V V V V Svantaggio del vector clock spazio di memoria per V dimensione dei messaggi proporzionale ad N Esempio (1,0,0) (,0,0) a b m 1 (,1,0) (,,0) c d (0,0,1) p 3 e p.es. inizializzando a 0 considerare e e b m f (,,) Physical Tempo time fisico SD8.19 SD8.0 5
6 Verifica di proprietà globali Problema: come verificare proprietà globali in sistemi distribuiti? Non esiste un tempo globale. Come ricavare informazioni sullo stato globale? eventi nei processi eventi corrispondenti a messaggi in transito condizione di attesa circolare Esempio: stallo distribuito - ricerca della Stato globale Per ogni processo p i h i =< e 0 i, i, > storia locale degli stati e k i evento k-simo nella storia locale di p i h k i =< e 0 i, i, e k i > storia locale degli stati fino a k s k i stato di p i immediatamente dopo l occorrenza di e k i s 0 i stato iniziale di p i Storia globale degli stati dell insieme dei processi {,,, p N } H = i=1,,n h i S=(s 1, s, s N ) stato globale Quali sono gli stati significativi? (da usare per risolvere problemi, e.g. esempi dati) Esempio: Esempio: condizione di terminazione di un insieme di processi distribuiti debugging distribuito Alcuni problemi si possono risolvere conoscendo lo stato globale Distributed snapshot [Chandy-Lamport, 1985] Un algoritmo per derivare uno stato globale in cui il sistema distribuito può essere stato Identifica uno stato globale consistente es. se nello stato di un processo P è registrato un messaggio ricevuto da Q, anche nello stato di Q è registrato l invio del messaggio (non necessariamente il contrario) L esecuzione globale è una successione di stati globali consistenti S 0, S 1,S, SD8.1 SD8. Stato globale consistente - taglio Stato globale consistente Taglio (cut) Formalmente di una esecuzione del sistema: rappresenta l ultimo evento registrato da ogni processo sottoinsieme della storia globale, come unione di prefissi di storie locali C = i=1,,n h i ci ovvero nel processo p i lo stato del taglio C è quello subito prima di e i ci, 1 i N frontiera di C { c1,, e N cn } p 3 1 e 1 e e 3 1 e 3 e 3 3 e 3 4 C = h 1 c1 h c h 3 c3 e 3 3 e 4 e 5 frontiera di C {, e 4, e 3 3 } Tempo fisico 0 1 m 1 e 0 e 3 m Taglio Inconsistent inconsistente cut Taglio Consistent consistente cut Physical Tempo time fisico Taglio consistente se per ogni evento contenuto, contiene anche gli eventi in relazione happened-before e C e e e C Stato globale consistente se corrisponde ad un taglio consistente Esecuzione globale: successione di stati globali consistenti S 0 S 1 S Run consistente ordinamento degli eventi nella storia globale consistente con la relazione happened-before storia di stati globali consistenti SD8.3 SD8.4 6
7 Stato globale consistente - distributed snapshot Tramite l uso di predicati sugli stati globali si possono verificare proprietà Algoritmo per identificare stati consistenti: distributed snapshot [Chandy-Lamport, 1985] Assunzioni: canali e comunicazioni affidabili canali FIFO e unidirezionali grafo dei processi fortemente connesso ( un cammino coppia di processi) ogni processo può attivare l algoritmo ogni processo può continuare ad eseguire send e receive durante l algoritmo un processo che inizia - registra il proprio stato - manda un messaggio speciale (marker) lungo i canali di uscita agli altri processi per la raccolta dello stato globale. un processo che riceve il messaggio marker - se non ha registrato il proprio stato lo registra e inoltra il marker sui canali in uscita - se ha già registrato il proprio stato, registra lo stato del canale (sequenza di messaggi ricevuti sul canale dalla sua ultima registrazione e prima di ricevere il marker) Algoritmo di distributed snapshot [Chandy-Lamport] Regola di ricezione del marker per il processo p i Quando p i riceve un messaggio marker sul canale di ingresso c: if (p i non ha già registrato il proprio stato) registra ora il proprio stato registra lo stato di c come insieme vuoto inizia la registrazione dei messaggi in arrivo dalgi altri canali di ingresso else p i registra lo stato del canale c come l insieme dei messaggi ricevuti attraverso c da quando ha salvato il prorpio stato Regola di invio del marker per il processo p i Dopo che p i ha registrato il proprio stato, canale di uscita c: p i invia un messaggio marker su c (prima di inviare qualsiasi altro messaggio su c). SD8.5 SD8.6 Algoritmo di distributed snapshot [Chandy-Lamport] Messaggi in ingresso Processo Stato Messaggi in uscita Filesystem locale Q riceve il marker la prima volta: registra lo stato locale, Inoltra il marker Q registra tutti i messaggi in arrivo Q riceve il marker: termina la registrazione dei messaggi in arrivo Stati registrati SD8.7 7
Coordinamento e sincronizzazione
Coordinamento e sincronizzazione Tempo locale e globale Nei sistemi distribuiti non esiste un orologio fisico globale Algoritmi di sincronizzazione e di coordinamento Applicazioni: correttezza di sequenze
DettagliTempo e sincronizzazione nei Sistemi Distribuiti
Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica Corso di Sistemi Distribuiti Prof. Stefano Russo Tempo e sincronizzazione nei
DettagliTempo fisico e logico
Tempo fisico e logico Sistemi Distribuiti Laurea magistrale in ingegneria informatica A.A. 011-01 Leonardo Querzoni Il tempo nei sistemi distribuiti In un sistema distribuito è impossibile avere un unico
DettagliSincronizzazione nei Sistemi Distribuiti
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Sincronizzazione nei Sistemi Distribuiti (parte ) Corso di Sistemi Distribuiti Valeria Cardellini Anno accademico 9/ La nozione di tempo
DettagliSCD. Sincronizzazione. Sistemi distribuiti: sincronizzazione. Stato del sistema 2. Stato del sistema 3. Stato del sistema 1. Distributed snapshot
Stato del sistema 2 Sincronizzazione Anno accademico 2014/15 Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD Laurea Magistrale in Informatica, Università di Padova
DettagliSistemi Distribuiti Corso di Laurea in Ingegneria
Sistemi Distribuiti Corso di Laurea in Ingegneria Prof. Paolo Nesi 2013 Parte 4b: Clock e ordinamenti Department of Systems and Informatics University of Florence Via S. Marta 3, 50139, Firenze, Italy
Dettagli22/05/2013. Indice dei Contenuti. Sincronizzazione dei Clock. Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano
Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano /26 Indice dei Contenuti Sincronizzazione dei Clock- 3 Orologi Fisici- 7 Sincronizzazione di Orologi Fisici- 10 Sincronizzazione dei Clock
DettagliUniversità degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica.
Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica Corso di Sistemi Distribuiti Prof. Stefano Russo Tempo e sincronizzazione nei
DettagliSCD. Sincronizzazione in distribuito. Sistemi distribuiti: sincronizzazione. Stato del sistema 2. Stato del sistema 3. Stato del sistema 1
Stato del sistema 2 Sincronizzazione in distribuito Anno accademico 2017/18 Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD Distributed snapshot Riflette uno stato
DettagliProgramma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori
Programma del corso Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori Evoluzione dei sistemi informatici Cos è una rete? Insieme di
DettagliAlgoritmi distribuiti su reti sincrone. Introduzione alle reti sincrone
Lucia Pallottino. Sistemi Robotici Distribuiti - Versione del 18 Aprile 2012 194 Algoritmi distribuiti su reti sincrone Per questo capitolo si può fare riferimento al libro Distributed Algorithms di Nancy
DettagliEsercitazioni 13 e 14
Università degli Studi della Calabria Corso di Laurea in Ingegneria Informatica A.A. 2001/2002 Sistemi Operativi Corsi A e B Esercitazioni 13 e 14 Comunicazione tra processi (IPC) Meccanismo per la comunicazione
DettagliModello a scambio di messaggi
Modello a scambio di messaggi Aspetti caratterizzanti il modello Canali di comunicazione Primitive di comunicazione 1 Aspetti caratterizzanti il modello modello architetturale di macchina (virtuale) concorrente
DettagliIl passaggio del tempo nei sistemi distribuiti
Il passaggio del tempo nei sistemi distribuiti Il tempo nei sistemi distribuiti WARNING: In un sistema distribuito e impossibile avere un unico clock fisico condiviso da tutti i processi Eppure la computazione
DettagliSincronizzazione nei Sistemi Distribuiti
Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica Sincronizzazione nei Sistemi Distribuiti Corso di Sistemi Distribuiti e Cloud Computing A.A. 6/7 Valeria
DettagliRETI DI CALCOLATORI II
RETI DI CALCOLATORI II Facoltà di Ingegneria Università degli Studi di Udine Ing. DANIELE DE CANEVA a.a. 2009/2010 ARGOMENTI DELLA LEZIONE TEORIA DEL ROUTING ROUTING STATICO ROUTING DINAMICO o PROTOCOLLI
DettagliModelli di sistemi distribuiti
Modelli di sistemi distribuiti Sistema distribuito sincrono Un sistema distribuito viene detto sincrono quando è possibile stabilire sia un limite inferiore sia un limite superiore a il tempo di esecuzione
DettagliPrincipi di progettazione di sistemi distribuiti
Principi di progettazione di sistemi distribuiti i modelli sincrono ed asincrono il problema dell agreement i guasti e loro rilevazione Sistema distribuito sincrono Un sistema distribuito viene detto sincrono
DettagliIl modello a scambio di messaggio
Il modello a scambio di messaggio Ciascun processo evolve in un proprio ambiente che non può essere modificato direttamente da altri processi. Quindi non esiste memoria condivisa e le risorse sono tutte
DettagliTerminologia e concetti fondamentali La struttura di Internet (hardware e software):
Introduzione Terminologia e concetti fondamentali La struttura di Internet (hardware e software): Accesso alla rete: end-systems, applicazioni, mezzi trasmissivi Nucleo: commutazione, struttura della rete,
Dettaglidi piattaforme DDS: SesmSesm--CINICINI--UoNUoN
Esposo Workshop SELEX --SesmSesm SesmSesm--CINICINI--UoNUoN Performance Assessment Esposo The MobiLab Group Dipartimento di Informatica e Sistemistica - Universàdi Napoli Federico II Via Claudio 21, 80125
DettagliClassificazione delle applicazioni multimediali su rete
Classificazione delle applicazioni multimediali su rete 1 Sommario Architettura di riferimento Classificazione per funzionalità Classificazione per tipi di dati trasportati Classificazione per tipi di
DettagliModelli di calcolo per algoritmi distribuiti
Modelli di calcolo per algoritmi distribuiti Corso di: Algoritmi paralleli e distribuiti Prof.ssa: Rossella Petreschi Anno accademico: 2004/2005 Autore: Danilo Carrabino 1. Eventi, ordini, e stati globali
Dettaglila trasmissione è regolata solamente dall algoritmo per il controllo del flusso prima di inviare l ACK.
1. Considerare il problema della stima del Round Trip Time. Supporre che inizialmente RTT valga 200 ms. Il mittente invia un segmento e riceve l ACK relativo dopo 100 ms, quindi invia un altro segmento,
DettagliUniversità degli Studi di Roma Tor Vergata Facoltà di Ingegneria
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria In un SD, i processi vengono eseguiti su nodi connessi in rete cooperano per portare al termine una computazione comunicano esclusivamente
DettagliOrdinamento causale e stati globali nei Sistemi Distribuiti. Moreno Marzolla
Ordinamento causale e stati globali nei Sistemi Distribuiti Moreno Marzolla E-mail: marzolla@dsi.unive.it Web: http://www.dsi.unive.it/~ marzolla Introduzione Supponiamo di avere una computazione distribuita
DettagliSCD. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione
Anno accademico 2004/5 Corso di Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD Definizione Un sistema distribuito è un insieme di elaboratori indipendenti capaci
DettagliSistemi Distribuiti. Ing. Sara Tucci Piergiovanni
Sistemi Distribuiti Ing. Sara Tucci Piergiovanni La nozione di tempo Modello della Computazione Componenti del sistema: n processi e canali di comunicazione Ogni processo genera una sequenza di eventi
DettagliIntroduzione ai. Sistemi Distribuiti
Introduzione ai Sistemi Distribuiti Definizione di Sistema Distribuito (1) Un sistema distribuito è: Una collezione di computer indipendenti che appaiono agli utente come un sistema singolo coerente. 1
DettagliProcessi non sequenziali e tipi di interazione
Processi non sequenziali e tipi di interazione Algoritmo, programma, processo Algoritmo: Procedimento logico che deve essere eseguito per risolvere un determinato problema. Programma: Descrizione di un
DettagliSistemi Distribuiti. La Nozione di Tempo nei Sistemi Distribuiti. dott. Ing. Silvia Bonomi. bonomi@dis.uniroma1.it
Sistemi Distribuiti La Nozione di Tempo nei Sistemi Distribuiti dott. Ing. Silvia Bonomi bonomi@dis.uniroma1.it Introduzione In un Sistema Distribuito 1. I processi girano su macchine diverse connesse
DettagliTu sai di averne uno quando il guasto di un computer di cui non hai mai sentito parlare non ti permette di fare il tuo lavoro.
2014 Tu sai di averne uno quando il guasto di un computer di cui non hai mai sentito parlare non ti permette di fare il tuo lavoro. -Lamport Quercioli, Pecoraro, Rando, Lucero V AI Sommario Definizione...
DettagliElezione di un leader in una rete ad anello
Elezione di un leader in una rete ad anello Corso di Algoritmi Distribuiti Prof. Roberto De Prisco Lezione n a cura di Rosanna Cassino e Sergio Di Martino Introduzione In questa lezione viene presentato
DettagliPROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE
PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE 1 ALGORITMO, PROGRAMMA, PROCESSO Algoritmo Procedimento logico che deve essere eseguito per risolvere un determinato problema. Programma Descrizione di un
DettagliPROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE
PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE 1 Algoritmo, programma, processo Algoritmo Programma Processo Procedimento logico che deve essere eseguito per risolvere un determinato problema. Descrizione
DettagliGlobal Virtual Time (GVT) e Approfondimenti sul Time Warp
Global Virtual Time (GVT) e Approfondimenti sul Time Warp Gabriele D Angelo gda@cs.unibo.it http://www.cs.unibo.it/~gdangelo Dipartimento di Scienze dell Informazione Università degli Studi di Bologna
Dettagli2.2 Alberi di supporto di costo ottimo
. Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione
DettagliLezione n.3 LIVELLO TRASPORTO
Università degli Studi di Pisa Lezione n.3 SSIS INFORMATICA LIVELLO TRASPORTO 30/11/2007 Laura Ricci Laura Ricci 1 LIVELLO TRASPORTO realizza un supporto per la comunicazione logica tra processi distribuiti
DettagliCANALE STAZIONARIO CANALE TEMPO INVARIANTE
CANALE STAZIONARIO Si parla di un Canale Stazionario quando i fenomeni che avvengono possono essere modellati da processi casuali e le proprietà statistiche di tali processi sono indipendenti dal tempo.
DettagliNetworking e Reti IP Multiservizio
Networking e Reti IP Multiservizio Modulo : Introduzione alle reti per dati Livello (routing su IP) Gabriele i Stefano: gabriele@ing.univaq.it 4: Network Layer 4a- Livello : Network (Rete) Questa lezione:
DettagliIl Modello a scambio di messaggi
Il Modello a scambio di messaggi 1 Interazione nel modello a scambio di messaggi Se la macchina concorrente e` organizzata secondo il modello a scambio di messaggi: PROCESSO=PROCESSO PESANTE non vi è memoria
DettagliProtocolli a finestra
ecniche per la protezione dagli errori di trasmissione ecniche AQ (protocolli a finestra) FEC (forward error correction) AQ (automatic retransmission request) Gruppo eti LC nome.cognome@polito.it http://www.telematica.polito.it/
DettagliRouting IP. IP routing
Routing IP IP routing IP routing (inoltro IP): meccanismo per la scelta del percorso in Internet attraverso il quale inviare i datagram IP routing effettuato dai router (scelgono il percorso) Routing diretto
DettagliTecniche ARQ (protocolli a finestra)
ecniche AQ (protocolli a finestra) Gruppo eti LC nome.cognome@polito.it http://www.telematica.polito.it/ ECNICHE AQ - 1 ecniche per la protezione dagli errori di trasmissione FEC (Forward Error Correction)
DettagliSi consideri il problema 1 del capitolo 1 del libro (4 edizione). Si chiede di rappresentare il protocollo tramite un automa a stati finiti esteso.
Esercizi Capitolo Esercizio. Si considerino due host A e B distanti 0.000 Km connessi da un collegamento di R=Mbps e con velocità di propagazione di,5*0^8 m/s.. Consideriamo l invio di un file di 400.000
DettagliSoluzione: (basata su round sincroni) Soluzione: (basata su processo leader) upon event <tob, Init> do tosend = ; todeliver = ; starttimer(δ + ε);
Esercizio 1 Si consideri un sistema distribuito composto da N processi ciascuno dei quali è identificato attraverso un intero univoco. Supponendo che il sistema sia sincrono, che i processi non si guastino
DettagliIntroduzione ai thread
Introduzione ai thread Processi leggeri. Immagine di un processo (codice, variabili locali e globali, stack, descrittore). Risorse possedute: : (file aperti, processi figli, dispositivi di I/O..),. L immagine
DettagliReti di Calcolatori. Master "Bio Info" Reti e Basi di Dati Lezione 3
Reti di Calcolatori Sommario Software di rete Livello Trasporto (TCP) Livello Rete (IP, Routing, ICMP) Livello di Collegamento (Data-Link) Livello Trasporto (TCP) I protocolli di trasporto sono eseguiti
DettagliProf. G. Ascia. Sistema Operativo
Sistema Operativo In parte tratto dal capitoli 13 del libro Mandrioli, Ceri, Sbattella, Cremonesi, Cugola, "Informatica: arte e mestiere",3a ed., McGraw-Hill Fondamenti di Informatica 1 Il Sistema Operativo
DettagliChiamata di procedura remota
Con gli strumenti gia` visti, si puo` realizzare come segue: lato chiamante: send asincrona immediatamente seguita da una receive lato chiamato: una receive seguita, al termine dell azione richiesta, da
DettagliDr. S. Greco Polito, Instradamento
Instradamento Servizi: datagramma(dg) e circuito virtuale(cv) q DG -> connectionless -> non si ha garanzia che i pacchetti immessi in rete possano essere trasferiti con successo q CV -> connection-oriented
DettagliUniversità degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica.
Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica Corso di Sistemi Distribuiti Prof. Stefano Russo Algoritmi di mutua esclusione
DettagliAlgoritmi di mutua esclusione nei sistemi distribuiti
Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica Corso di Sistemi Distribuiti Prof. Stefano Russo Algoritmi di mutua esclusione
DettagliIntroduzione (parte II)
Introduzione (parte II) Argomenti della lezione Ripasso degli argomenti del primo corso: reti locali, internetworking, reti geografiche e applicazioni Reti locali Nascono come sistemi broadcast Tutte le
Dettagli2.2 Alberi di supporto di costo ottimo
. Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione
DettagliASM multi-agente sincrone
ASM multi-agente sincrone Una ASM multi-agente sincrona è definita come un insieme di agenti che eseguono la loro ASM in parallelo. Questi sono sincronizzati utilizzando un clock di sistema globale Semanticamente
DettagliComunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione
I semestre 03/04 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 2
DettagliSeconda Lettura (Parte A): -funzioni -servizi -topologie. Prof. Greco Polito Silvana 1
Seconda Lettura (Parte A): -funzioni -servizi -topologie Prof. Greco Polito Silvana 1 FUNZIONALITA DI UNA RETE DI TELECOMUNICAZIONE Segnalazione Commutazione Trasmissione Gestione Prof. Greco Polito Silvana
DettagliAnni 80: reti locali di PC terminali dotati di intelligenza propria, che condividono risorse pregiate, come stampanti, dischi, etc.
LEZIONE 2 STORIA DEI SISTEMI DISTRIBUITI E MODELLI ARCHITETTURALI Anni 60-70: architettura centralizzata, monolitica (vedi lezione 1) host (mainframe, mini) a cui vengono collegati terminali stupidi a
DettagliModelli di Sistemi. Modelli concettual di supporto allo studio dei sistemi distribuiti Modelli architetturali
Modelli di Sistei Modelli concettual di supporto allo studio dei sistei distribuiti Modelli architetturali Descrizione ad alto livello della distribuzione delle funzionalità delle coponenti e loro relazione
DettagliArchitetture dei sistemi distribuiti. Mariagrazia Fugini Impianti Como 08-09
Architetture dei sistemi distribuiti Mariagrazia Fugini Impianti Como 08-09 Sommario Sistemi centralizzati e distribuiti Meccanismi per sistemi distribuiti RPC Client-server Middleware Distributed object
DettagliEsercizi: Telecomunicazioni parte Reti
Esercizi: Telecomunicazioni parte Reti Indice Indice... 1 Routing... 2 Esercizio 1: Link state routing... 2 Esercizio 2: Distance vector routing... 4 Esercizio 3: Distance vector routing... 6 Controllo
DettagliArchitetture di rete. 4. Le applicazioni di rete
Architetture di rete 4. Le applicazioni di rete Introduzione L avvento di tecnologie (hw, sw, protocolli) di rete avanzate ha permesso la nascita di architetture software molto evolute che permettono lo
DettagliUniversità degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica.
Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica Corso di Sistemi Distribuiti Prof. Stefano Russo Comunicazioni di gruppo Sommario
DettagliIndirizzamento IPv4. Indirizzamento IP
Indirizzamento IPv4 Indirizzo IP: identificatore di 32 bit, associato ad un interfaccia di rete (confine tra nodo e collegamento fisico) Notazione decimale puntata: ogni byte è scritto in forma decimale
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori a.a. 2012/13 - primo appello, 3 giugno 2013 Riportare nome, cognome, numero di matricola e corso A/B Domanda 1 In una semplice architettura di CPU pipeline scalare, i registri
DettagliTECN.PROG.SIST.INF. I Socket Roberta Gerboni
2015 - Roberta Gerboni Socket e porte I sistemi operativi multitasking possono fare girare contemporaneamente più processi dove ogni processo può rendere disponibili anche più servizi. Questi devono essere
DettagliInternet (- working). Le basi.
Internet (- working). Le basi. 1 GABRIELLA PAOLINI (GARR) 18 OTTOBRE 2011 Capire come funziona Internet 2 FACCIAMO UN PASSO INDIETRO Internet È un insieme di reti interconnesse fra di loro su tutto il
DettagliConfigurazione delle interfacce di rete
Configurazione delle interfacce di rete A.A. 2006/2007 Alessandro Botticelli Instradamento dei datagrammi IP Routing : scelta del percorso su cui inviare i dati i router formano struttura interconnessa
DettagliComponenti e connessioni. Capitolo 3
Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura
DettagliLe reti rete La telematica telematica tele matica Aspetti evolutivi delle reti Modello con mainframe terminali Definizione di rete di computer rete
Reti e comunicazione Le reti Con il termine rete si fa riferimento, in generale ai servizi che si ottengono dall integrazione tra tecnologie delle telecomunicazioni e le tecnologie dell informatica. La
DettagliComponenti principali
Componenti e connessioni Capitolo 3 Componenti principali n CPU (Unità Centrale di Elaborazione) n Memoria n Sistemi di I/O n Connessioni tra loro Architettura di Von Neumann n Dati e instruzioni in memoria
Dettagli2. Teoria. [7 punti] La comunicazione tra processi nel sistema UNIX.
1. Unix [12 punti] Prova Scritta di Recupero del 5 Aprile 2004 Si scriva un programma C che utilizzi le system call di UNIX e che realizzi un comando UNIX avente la seguente sintassi: esame fsize fin fout
Dettagli1) (commutazione pacchetto, prodotto banda-ritardo) 2) (frammentazione, commutazione di pacchetto) 3) (Selective Repeat)
1) (commutazione pacchetto, prodotto banda-ritardo) Considerare l invio di un pacchetto di L bit da un nodo C ad un nodo S, attraverso 3 router intermedi, che introducono un ritardo di elaborazione di
Dettagli2.2 Alberi di supporto di costo ottimo
. Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) diffusione di messaggi segreti memorizzazione
DettagliLe Reti LAN: componenti attivi. Descrizione dei principali componenti attivi di rete: Livello 3: Router
Le Reti LAN: componenti attivi Descrizione dei principali componenti attivi di rete: Livello 3: Router Componenti di una rete Nelle reti informatiche alcuni apparati hanno funzionalità esclusivamente orientate
DettagliParte II - Reti di Calcolatori ed Internet IL LIVELLO RETE
Parte II - Reti di Calcolatori ed Internet IL LIVELLO RETE 3-1 Il Livello RETE Servizi del livello Rete Organizzazione interna Livello Rete basato su Circuito Virtuale Livello Rete basato su Datagram Algoritmi
DettagliAlgoritmo basato su cancellazione di cicli
Algoritmo basato su cancellazione di cicli Dato un flusso ammissibile iniziale, si costruisce una sequenza di flussi ammissibili di costo decrescente. Ciascun flusso è ottenuto dal precedente flusso ammissibile
DettagliLe comunicazioni ordinate
Le comunicazioni ordinate Comunicazioni Ordinate E importante (e utile definire delle primitive di comunicazione che diano qualche garanzia sull ordine di consegna dei messaggi inviati all interno di un
DettagliComponenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni
Componenti principali Componenti e connessioni Capitolo 3 CPU (Unita Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro 1 2 Architettura di Von Neumann Dati e instruzioni in memoria
DettagliIII - 2. Il Livello Rete. Corso di RETI DI CALCOLATORI (9 CFU) a.a II anno / II semestre. Il Livello Rete.
Livello rete in Internet Corso di RETI DI CALCOLATORI (9 CFU) a.a. 2016-2017 II anno / II semestre Mantenimento della semplicità all aumentare delle funzioni Sfruttamento della modularità (indipendenza
DettagliCommutazione di pacchetto
Commutazione di pacchetto Tecniche di commutazione Le principali sono: Commutazione di circuito Rete telefonica Commutazione di pacchetto Servizio datagram Servizio orientato alla connessione Esempi di
DettagliMODELLI ISO/OSI e TCP/IP
PARTE I - Reti di Calcolatori ed Internet MODELLI ISO/OSI e TCP/IP 2.1 Reti di Calcolatori Livelli e Servizi Il modello OSI Il modello TCP/IP Un confronto tra OSI e TCP/IP ARPANET Ethernet Reti ATM reti
DettagliReti di Comunicazione e Internet
Dipartimento di Elettronica e Informazione Politecnico di Milano Reti di Comunicazione e Internet Transmission Control Protocol Esercitazione Ipotesi semplificative per gli esercizi RTT (Round Trip Time)
DettagliArchitetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo
Basi di Dati Architetture Client/Server D B M G Architettura centralizzata Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo Tutta l intelligenza
DettagliSincronizzazione nei Sistemi Distribuiti
Sincronizzazione nei Sistemi Distribuiti Sincronizzazione dei Clock In un sistema centralizzato la misurazione del tempo non presenta ambiguità. (Ogni computer ha il proprio clock) In un sistema distribuito
DettagliCall Admission Controll (CAC)
CAC: Connection Admission Control Gruppo Reti TLC nome.cognome@polito.it http://www.telematica.polito.it/ TECNICHE DI ACCETTAZIONE DELLE CHIAMATE - 1 Call Admission Controll (CAC) Tecnica di controllo
DettagliFONDAMENTI DI RETI E TELECOMUNICAZIONI
Preappello 10 giugno 2011 (PRIMA E SECONDA PARTE) Cognome Nome Matricola Crediti Corso Tempo a disposizione per lo svolgimento: 2h Avvertenza: Si usi lo spazio dopo ogni quesito per lo svolgimento 1 2
Dettaglisistemi distribuiti soggetti a guasti - consenso
sistemi distribuiti soggetti a guasti - consenso Problema del Consenso Il gruppo di processi devono mettersi d accordo su un valore (es. commit/abort di una transazione). E l astrazione di una classe di
DettagliUNIVERSITA' CA' FOSCARI DI VENEZIA CORSO DI LAUREA IN INFORMATICA A.A. 2004/2005 Sistemi Distribuiti Compito 25/1/2005 1. Definire i tipi di sincronizzazione fra orologi in sistemi distribuiti. Illustrare
DettagliRouting. Forwarding e routing
Routing E necessario stabilire un percorso quando host sorgente e destinazione non appartengono alla stessa rete Router di default si occupa di instradare il traffico all esterno della rete Router sorgente:
DettagliCall Admission Controll (CAC)
CAC: Connection Admission Control Gruppo Reti TLC nome.cognome@polito.it http://www.telematica.polito.it/ TECNICHE DI ACCETTAZIONE DELLE CHIAMATE - 1 Call Admission Controll (CAC) Tecnica di controllo
DettagliBasi di Dati Architetture Client/Server
Basi di Dati Architetture Client/Server Architettura centralizzata Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo Tutta l intelligenza
DettagliInstradamento per servizi di tipo circuito virtuale. Dr. S. Greco Polito,
Instradamento per servizi di tipo circuito virtuale Servizio circuito virtuale: tabelle di instradamento e di inoltro q Ogni nodo contiene due tabelle: Tabella di instradamento Tabella di inoltro q La
Dettagli