Principi di progettazione di sistemi distribuiti

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

Modelli di Sistemi Distribuiti

Soluzione: (basata su round sincroni) Soluzione: (basata su processo leader) upon event <tob, Init> do tosend = ; todeliver = ; starttimer(δ + ε);

Modello a scambio di messaggi

sistemi distribuiti soggetti a guasti - consenso

Chiamata di procedura remota

Homework assignment #2. Maurizio Bonuccelli. Dipartimento di Informatica Università di Pisa

la trasmissione è regolata solamente dall algoritmo per il controllo del flusso prima di inviare l ACK.

Il Modello a scambio di messaggi

Il passaggio del tempo nei sistemi distribuiti

Le Reti Informatiche

Sistemi Distribuiti soggetti a Guasti

Il Modello a scambio di messaggi

Modello a scambio di messaggi

Tempo e sincronizzazione nei Sistemi Distribuiti

Sistemi Distribuiti Il Modello della Computazione Distribuita

SAPIENZA Università di Roma Facoltà di Ingegneria

MODELLO AD AMBIENTE GLOBALE

Sincronizzazione nei Sistemi Distribuiti

Tempo fisico e logico

Algoritmi distribuiti su reti sincrone. Introduzione alle reti sincrone

Principi di trasferimento affidabile

Esempio produttori consumatori. Primitive asincrone

Reti di Calcolatori e Laboratorio - Compito del 15 Gennaio 2013

Modello a scambio di messaggi

Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto

RETI DI CALCOLATORI Home Assignment protocolli a finestra scorrevole. Prima parte

SISTEMI OPERATIVI. Sincronizzazione dei processi. Domande di verifica. Luca Orrù Centro Multimediale Montiferru 30/05/2007

Controllo di congestione

Basi di Dati e Sistemi Informativi. Architetture Distribuite per Basi di Dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale

Interazione tra Processi. Sistemi Operativi T AA

IL MESSAGGERO ORATINESE. Novembre - Dicembre n Anno 2012

Comunicazione. La comunicazione point to point e' la funzionalita' di comunicazione fondamentale disponibile in MPI

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo

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.

Circuiti sequenziali e latch

Sensori di Prossimità Guida Utente

Prestazioni di LAN. Parametri caratterizzanti la LAN

Valutazione sperimentale di algoritmi per la rilevazione di fallimenti temporali nel sistema operativo Minix3

Rilevazione dei fallimenti nel sistema operativo open source Linux per applicazioni critiche Anno Accademico 2006/2007

Indirizzi LAN (MAC) e IP

Rete: classificazione in funzione della distanza fra due generici elementi

PROGRAMMAZIONE: Le strutture di controllo

CAPITOLO 7 - SCAMBIO DI MESSAGGI

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

Elezione di un leader in una rete ad anello

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

TEORIA DELL INFORMAZIONE ED ENTROPIA FEDERICO MARINI

Rappresentazione degli algoritmi

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

Introduzione alla Programmazione Concorrente

Influenza dell' I/O sulle prestazioni (globali) di un sistema

Sistemi Distribuiti. La Nozione di Tempo nei Sistemi Distribuiti. dott. Ing. Silvia Bonomi.

Indagine INPS Indagine customer

Corso di Calcolo Numerico

La simulazione è l'imitazione di un processo o di un sistema reale per un

6) Descrivere con un diagramma a blocchi un algoritmo che legga da input due numeri ne calcoli il prodotto in termini di somme ripetute.

Per capire cos è un oggetto prendiamo spunto dalla vita reale: un oggetto è un automobile, un computer, una casa, e così via

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO III Indice

ASSEGNAMENTO DELLE OPERAZIONI DI TAGLIO NELLA PRODUZIONE DI CAPI DI ABBIGLIAMENTO

Un algoritmo realizza una relazione funzionale tra i valori di input e quelli di output

Livello di trasporto: meccanismi trasferimento dati affidabile

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI

Parte II: Reti di calcolatori Lezione 14 (38)

Programmazione Lineare Intera. Programmazione Lineare Intera p. 1/4

Dr. Greco Polito Silvana. LAN: Local Area Network

LE RETI LOCALI A BUS 1. In una rete locale a bus tutti i computer sono collegati da un unico canale di

Dr. S. Greco Polito, Instradamento

Parte II: Reti di calcolatori Lezione 12

Problema del cammino minimo

Efficienza: esempi. Fondamenti di Informatica. Ferdinando Cicalese. Nella lezione precedente. Pseudocodice per descrivere algoritmi

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

22/05/2013. Indice dei Contenuti. Sincronizzazione dei Clock. Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano

Esercitazioni di Sistemi di commutazione LS. Analisi di architetture di commutazione

Università del Salento Facoltà di Ingegneria Costruzione di Macchine

Minimizzazione degli stati di reti sequenziali asincrone (RSA) / sincrone (RSS)

Sommario. G. Piscitelli

Sistemi in tempo reale: applicazioni alla robotica. Sistemi in tempo reale: applicazioni alla robotica p.1/15

Esempio: somma di due numeri

Le comunicazioni ordinate

Classificazione delle applicazioni multimediali su rete

n n 1 n = > Il calcolo del fattoriale La funzione fattoriale, molto usata nel calcolo combinatorio, è così definita

Programmazione in Rete

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

I dispositivi di input/output

Lo strato di collegamento: Introduzione e concetti generali

1. La Sincronizzazione del clock

Test e risultati sull uso di un file system GPFS condiviso su rete WAN

Intelligenza Artificiale. Risoluzione dei Problemi

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

Interazione tra Processi. Sistemi Operativi T AA

Introduzione al Calcolo Parallelo Algoritmi e Calcolo Parallelo. Daniele Loiacono

Applicazioni distribuite e sistemi ad oggetti distribuiti. RPC RMI - Web Services 1

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Curriculum SR (Sistemi e Reti) Algoritmi e Laboratorio a.a.

Lo strato di applicazione in Internet

Livello di trasporto: meccanismi trasferimento dati affidabile, TCP

Send/receive sincrona, assumendo che la condivisione avvenga mediante riferimenti logici coincidenti, invece che con capability.

Identificazione, Autenticazione e Firma Digitale. Firma digitale...

Sincronizzazione nei Sistemi Distribuiti

Simulazione. D.E.I.S. Università di Bologna DEISNet

Transcript:

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 quando è possibile stabilire sia un limite inferiore sia un limite superiore a il tempo di esecuzione di ciascun passo di un processo il tempo di propagazione di un messaggio in rete la velocita di deriva di un clock TIGA 2

Drift dei clock t A, t B t A (a) clock di A tempo reale clock di B t B (b) t(a) t(b) t TIGA 3 Sistema distribuito sincrono Un sistema distribuito sincrono può essere implementato purché si individuino le esigenze di ciascun processo in termini di risorse di calcolo e di comunicazione si garantiscano tali risorse a ciascun processo si fornisca a ciascun processo un clock con una velocità di deriva limitata TIGA 4

Sistema distribuito asincrono Un sistema distribuito viene detto asincrono quando non è possibile stabilire un limite superiore a il tempo di esecuzione di ciascun passo di un processo il tempo di propagazione di un messaggio in rete la velocita di deriva di un clock TIGA 5 I modelli a confronto In un sistema sincrono certi problemi (coordinamento tra processi, rilevamento di un guasto) possono essere risolti perfettamente In un sistema asincrono certi problemi (coordinamento tra processi, rilevamento di un guasto) non possono essere risolti perfettamente Un algoritmo valido per il modello asincrono è valido anche per il modello sincrono TIGA 6

Il problema dell agreement Le divisioni e dell esercito Bianco sono accampate su due colline vicine La valle tra le due colline è in mano all esercito Nero Le divisioni comunicano per mezzo di messaggeri che attraversano la valle (comunicazione affidabile) L esercito Bianco vuole sferrare un attacco e le divisioni devono trovare un accordo su: chi deve attaccare per prima (la divisione con più uomini) quando sferrare l attacco (la seconda divisione deve intervenire entro D unità di tempo dalla prima) TIGA 7 Il problema dell agreement Chi attacca per primo? if (α > β) attacca else attacca α β α = numero di uomini di β = numero di uomini di L algoritmo funziona correttamente in un sistema asincrono TIGA 8

Il problema dell agreement Quando attaccare? t min invia il messaggio, aspetta t min e poi attacca riceve il messaggio, si prepara per d e poi attacca L'attacco ha successo se attacca entro D max rispetto ad D max (?) Carica! D max = d + (t max t min ) t d In un sistema asincrono D max può essere arbitrariamente lungo perché t max (e d) non hanno estremo superiore TIGA 9 Guasti P guasto Q send canale receive buffer di uscita buffer di ingresso Sia i processi sia il sistema di comunicazione possono guastarsi, possono cioè esibire un comportamento che si discosta dalle specifiche TIGA 10

Modello di guasto OMISSION FAILURES un processo o un canale non esegue le azioni previste dalla sua specifica BYZANTINE FAILURES un processo o un canale si discostano dalla specifica in modo arbitrario e (possibilmente) malizioso TIMING FAILURES si considerano nei sistemi sincroni quando i limiti sui tempi di esecuzione, di comunicazione (performance failure) e sulla velocità di deriva dei clock (clock failure) sono violati TIGA 11 Omission failures PROCESS OMISSION FAILURES Crash: un processo sospende la sua esecuzione e non esegue più alcuna azione Fail-stop: un processo sospende la sua esecuzione, non esegue più alcuna azione e gli altri processi possono rilevare lo stato del processo (!!!) CHANNEL OMISSION FAILURES Send omission failures: un processo esegue la send ma il messaggio non è inserito nel buffer di uscita Receive omission failures: un messaggio è posto nel buffer di ingresso di un processo ma questi non lo riceve mai Omission failure: un messaggio è inserito nel buffer di uscita del mittente ma non raggiunge mai il buffer di ingresso del ricevente TIGA 12

Timeout & failure detection Sistema sincrono è guasto d crash T = R + d 2 t max + d TIGA 13 Timeout & failure detection Sistema sincrono: tempo massimo di rilevazione di un crash in caso di comunicazione affidabile è guasto d crash Il processo risponde e crasha subito dopo = t max + T = 3 t max + d TIGA 14

Timeout & failure detection Sistema asincrono è guasto e/o il messagero sono lenti TIGA 15 Timeout & failure detection Sistema asincrono era guasto crash recovery Il processo inserisce nel messaggio di risposta l istante dell ultimo recovery TIGA 16

Agreement in presenza di perdita di messaggi round 1 round 2 round i round n I processi devono accordarsi sul valore di una variabile I processi adottano un protocollo P costituito da n round Se il sistema di comunicazione è soggetto ad omission failure, l agreement non è possibile TIGA 17