Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoGabriele Castelli Modificato 10 anni fa
1
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri Matteo
2
Lidea del progetto: coordinazione Pronto per Stato A Stato A Pronto per Stato B Stato B Il gruppo di computer si coordina per passare allo stato concordato contemporaneamente Lesecuzione procede passo-passo sincronizzata
3
Lidea del progetto: controllo remoto Computer AComputer B Computer DComputer C Configuratore Computer A, devi fare operazione A Ok! Eseguo loperazione richiesta Operazione A Ok! Eseguo loperazione richiesta Operazione D Computer D, devi fare operazione D
4
Caratteristiche del sistema Funzionalità del sistema: Controllo remoto dei componenti da una posizione definita (configuratore) Esecuzione di operazioni sui componenti Coordinazione delle operazioni in determinati momenti dellesecuzione Problemi da risolvere: Dinamicità del gruppo (caduta, etc.) Comunicazioni reliable Algoritmo per la sincronizzazione dei componenti
5
Applicazioni: mostra virtuale Ciao Tipico paesaggio di Perugia Foto realizzata da... Split di un contenuto della mostra su più monitorContenuto con un commento Il contenuto dei due schermi cambia in maniera sincrona
6
Descrizione del sistema
7
Architettura del sistema Componente del gruppo Controllo della disponibilità Gestione dei gruppi Gestione dei componenti Configuratore Servizi
8
Il configuratore Rappresenta linterfaccia verso il sistema per lamministratore. Fornisce le seguenti funzionalità: –Visualizzazione dello stato del sistema (componenti, esecutori, gruppi) –Gestione dei gruppi (compreso inizio esecuzione e fine esecuzione) –Gestione degli esecutori
9
Il componente di gruppo E il componente che esegue fisicamente le operazioni. Non è controllabile in maniera diretta ma solo attraverso il configuratore. Fornisce le seguenti funzionalità: –Ricezione delle istruzioni da parte del configuratore (gruppo, esecutore, start e stop del gruppo) –Sincronizzazione con gli altri componenti in corrispondenza di un checkpoint –Esecuzione delle operazioni locali stabilite dallesecutore
10
Servizi di sistema La gestione dei componenti tiene conto dei componenti presenti allinterno del sistema. La gestione dei gruppi tiene conto della composizione dei gruppi Il controllo della disponibilità si occupa della disponibilità dei vari componenti del sistema –I componenti di gruppo e il configuratore non sono replicati –Viene utilizzato un meccanismo di lease per riconoscere i componenti caduti. Pro: meccanismo semplice ed efficace. Contro: overhead per il rinnovo del lease.
11
Disponibilità dei componenti Sia i componenti di gruppo che il configuratore vengono gestiti attraverso il lease: –I componenti di gruppo non sono replicati per questioni applicative. –Il configuratore non è replicato perché costituisce linterfaccia per lutente-amministratore. I servizi di sistema devono essere necessariamente attivi durante tutta la vita dellapplicazione: –I servizi di sistema possono essere replicati senza alcun problema.
12
Linfrastruttura di comunicazione
13
Infrastruttura di comunicazione Basata su meccanismi simili a chiamate a procedura remota. Permette di: –effettuare il controllo remoto dei componenti –comunicare con i servizi di sistema Si basa su: –TCP: nel caso di comandi con passaggio di parametri o risposta – semantica sincrona. –UDP (versione at-most-once): nel caso di comandi senza passaggio di parametri o risposte – semantica asincrona di tipo catch & return.
14
Infrastruttura di comunicazione Server Request manager Request acceptor Request Service Attende un messaggio in ingresso Gestisce la singola richiesta Provvede a inviare la risposta al cliente Crea loggetto request associato alla richiesta Incapsula la richiesta, conoscendone i dettagli Può eseguire la richiesta localmente Rappresenta il servizio fornito dal sistema Fornisce linterfaccia per le operazioni che possono essere fatte su un componente del sistema Cliente Execute() Method()
15
UDP versione at-most-once Obiettivo: ottenere la sicurezza che un comando con UDP arrivi a destinazione Passo 1: aggiunta di un messaggio di acknowledgement P1P1 P2P2 P1P1 P2P2 P1P1 P2P2 1 a possibilità2 a possibilità3 a possibilità Se il messaggio di acknowledgement arriva a destinazione abbiamo la certezza che il messaggio è stato ricevuto dal destinatario OK
16
UDP versione at-most-once Obiettivo: ottenere la sicurezza che un comando con UDP arrivi a destinazione Passo 2: ritrasmissione del messaggio in caso di scadenza di un timeout P1P1 P2P2 P1P1 P2P2 2 a possibilità3 a possibilità La ritrasmissione può essere fatta un numero N di volte definito a priori per evitare tentativi allinfinito. Dopodiché si considera il nodo destinazione caduto.
17
UDP versione at-most-once Obiettivo: ottenere la sicurezza che un comando con UDP arrivi a destinazione P1P1 P2P2 2 a possibilità Passo 3: aggiungere una numerazione per evitare la ricezione di uno stesso messaggio due volte. Il messaggio non viene passato alla parte applicativa se è ripetuto. K K K K Solo ack
18
UDP versione at-most-once Obiettivo: ottenere la sicurezza che un comando con UDP arrivi a destinazione P1P1 P2P2 2 a possibilità Passo 4: aggiunta di un livello per gestire gli acknowledgement Il processo P 3 (di livello applicativo) può andarsene dopo aver ricevuto il messaggio. Altrimenti il processo P 3 dovrebbe restare per vedere se il mittente ha ricevuto lacknowledgement K K K K Solo ack P3P3 Receive() return
19
Un altro protocollo… Il TCP transazionale può essere utilizzato per realizzare una chiamata a procedura remota. Prevede tre pacchetti per implementare tutta la logica di TCP e di ottenere i relativi vantaggi. Risulta quindi essere di poco più pesante rispetto al protocollo utilizzato. Lutilizzo di questo protocollo permetterebbe di superare i problemi riconosciuti dellalgoritmo sviluppato: –Non riconoscimento dei messaggi precedenti allultimo ricevuto.
20
Algoritmi di sincronizzazione
21
Basato sulla relazione di Lamport Componente 1: T a T o :P o Componente 2: T b Componente 3: T c T a :P 1 T b :P 2 T c :P 3 T a :P 1 T b :P 2 T c :P 3 T o :P o Il componente 1 arriva al checkpoint Il componente 2 arriva al checkpoint Il componente 3 arriva al checkpoint I componenti sono tutti arrivati al checkpoint: si può proseguire Costo algoritmo: N(N – 1) = O(N 2 )
22
Algoritmi di sincronizzazione Servizio dei gruppi pronto prossimo Servizi troppo carichi di lavoro Costo algoritmo: N + N = 2 N = O(N)
23
Algoritmi di sincronizzazione Servizio dei gruppi pronto prossimo coordinator prossimo Scarica la responsabilità del secondo messaggio su uno dei componenti Costo algoritmo: N + 1 + (N – 1) = 2 N = O(N)
24
Altri possibili algoritmi… Estensioni a gruppi di oggetti per risorse fault-tolerant (modello a copie attive) –Le copie rappresentano i componenti di gruppo –Pro: modello studiato, sperimentato e approfondito –Contro: mancanza del concetto di minimizzazione dei tempi di contatto fra le copie attive Lutilizzo del protocollo multicast di basso livello (IGMP) permetterebbe di semplificare alcune delle fasi degli algoritmi (messaggi di prossimo attraverso un multicast) –semantica: ricezione di un acknowledgement da tutti i componenti del gruppo. Conferma positiva e sollecito selettivo (utilizzando la parte di infrastruttura già realizzata)
25
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri Matteo
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.