La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Progetto di un Agente per l’Apprendimento mediante Alberi Decisionali in ambito distribuito Studente: Luca Monaco Anno Accademico 2003-2004.

Presentazioni simili


Presentazione sul tema: "Progetto di un Agente per l’Apprendimento mediante Alberi Decisionali in ambito distribuito Studente: Luca Monaco Anno Accademico 2003-2004."— Transcript della presentazione:

1 Progetto di un Agente per l’Apprendimento mediante Alberi Decisionali in ambito distribuito Studente: Luca Monaco Anno Accademico 2003-2004

2 Progetto di Reti di Calcolatori LS 2 Introduzione  L’apprendimento induttivo si propone di costruire un’approssimazione di un concetto a partire da un insieme di esempi. Ingresso Uscita  Ogni nodo è capace di ricevere richieste di classificazione di nuove istanze e di rispondere in accordo ai dati raccolti da tutti i nodi della rete.  Alberi decisionali come rappresentazione di concetti le cui istanze sono descritte con linguaggi di tipo attributo valore.  Si ipotizza di avere un insieme di nodi capaci di raccogliere esempi nel tempo che dovranno essere utilizzati per creare o aggiornare l’albero decisionale. Albero Decisionale

3 Progetto di Reti di Calcolatori LS 3 Obiettivi del progetto  Affrontare ed approfondire le tematiche fondamentali che caratterizzano i sistemi che lavorano in ambiente distribuito.  In particolare verranno studiati i seguenti temi: Replicazione delle risorse e affidabilità del sistema; Rapporti di collaborazione, coordinamento e sincronizzazione tra i vari nodi; Recovery da guasti; Gestione del carico.  Si desidera costruire un’applicazione che: Garantisca la coerenza nelle risposte, cioè che indipendentemente dal nodo a cui è volta una richiesta di classificazione di una nuova istanza, il risultato sia lo stesso; Fornisca il supporto necessario alla comunicazione tra i nodi; Dia garanzie di affidabilità e disponibilità del servizio; Fornisca tutte le funzioni di supporto impegnando in modo minimo le risorse del sistema.

4 Progetto di Reti di Calcolatori LS 4 Architettura della rete e Replicazione (1)  Un possibile modello: Considera i nodi della rete esclusivamente come “sensori”, cioè capaci solo di effettuare osservazioni. Una o eventualmente più entità centrali, unici gestori della risorsa (l’albero decisionale) elaborano queste osservazioni. Le richieste di classificazione di nuove istanze che pervengono ai vari nodi, vengono delegate verso l’entità centrale.  Problemi del modello: Molto centralizzato; Molto inaffidabile se consideriamo la possibilità che il nodo centrale si guasti. Ris.

5 Progetto di Reti di Calcolatori LS 5 Architettura della rete e Replicazione (2)  L’approccio scelto è quello di replicare la risorsa su tutti i nodi. Ognuno di essi è in grado di rispondere alle richieste in modo del tutto indipendente dagli altri. Vantaggio: Grado di replicazione pari al numero di nodi che compongono la rete:  Alti livelli di affidabilità e disponibilità del sistema. Svantaggio: I nodi devono coordinarsi per creare/modificare l’albero decisionale in modo che il suo stato sia sempre aggiornato su tutti i nodi.  Questo è un modello di replicazione attivo Necessità di introdurre un protocollo efficiente che permetta il coordinamento dei nodi. Ris.

6 Progetto di Reti di Calcolatori LS 6 Modello di coordinamento (1)  Un possibile modello: Ogni nodo per manifestare la propria esigenza di modificare le risorsa effettua un multicast verso N-1 nodi (se N è il numero di nodi della rete), in cui viene comunicato il nuovo esempio osservato. Il mittente, in seguito all’invio di questi messaggi, si aspetta N-1 risposte per verificare che tutti abbiano ricevuto il messaggio.  Problemi del modello: Necessità di effettuare, ad ogni processo di aggiornamento N multicast:  Troppo costoso in termini di ritardo introdotti, di carico della rete, ecc.;  Protocollo troppo intrusivo. Ris.

7 Progetto di Reti di Calcolatori LS 7 Modello di coordinamento (2)  L’approccio scelto è collegare i nodi in un ring logico, in cui ogni nodo può comunicare solo con il precedente ed il successivo.  Il coordinamento è ottenuto mediante due fasi di comunicazione: Fase di “raccolta” dei nuovi esempi:  Viene fatto circolare nel ring un messaggio in cui ogni nodo inserisce le nuove osservazioni effettuate. Fase di “aggiornamento” delle copie:  Gli esempi raccolti nella fase precedente passano di nodo in nodo, in modo che ognuno possa aggiornare il proprio albero decisionale. Ris.

8 Progetto di Reti di Calcolatori LS 8 Coordinamento: Confronto trai due modelli  Vantaggi del secondo modello rispetto al primo: Non è necessario inviare dei messaggi di risposta, infatti la topologia della rete garantisce che se il messaggio torna al mittente esso è arrivato a tutti i nodi. Quando un nodo gestisce una propria richiesta di aggiornamento implicitamente va a gestire le richieste fatte dagl’altri nodi. Quindi si ottiene:  Forte riduzione dei messaggi da introdurre nella rete e conseguente riduzione dell’overhead di comunicazione.  Forte riduzione del numero di volte che la procedura di aggiornamento viene eseguita.  Protocollo meno intrusivo.  Svantaggi: La caduta di un nodo della rete, se non gestita, può compromettere anche il servizio degli altri nodi.  Necessità di introdurre altri protocolli per gestire eventuali guasti e quindi effettuare il recovery del ring.

9 Progetto di Reti di Calcolatori LS 9 Coordinamento: Alcuni dettagli (1)  Il protocollo di coordinamento viene innescato da un certo nodo quando: 1.Il nodo è in possesso del token: Per evitare conflitti, è necessario che in un certo istante solo un nodo sia gestore delle proprie richieste di aggiornamento ed eventualmente di quelle degli altri nodi. Per garantire questa sincronizzazione viene utilizzato un token circolante. 2.In coda sono presenti delle richieste di aggiornamento.  Una richiesta di aggiornamento viene fatta dal nodo stesso quando riceve una nuova osservazione non coperta dall’albero decisionale attuale, cioè con contenuto informativo elevato. Permette di effettuare l’aggiornamento dell’albero solo quando è necessario. Gli esempi osservati coperti vengono mantenuti e utilizzati durante il processo di aggiornamento dell’albero successivo.

10 Progetto di Reti di Calcolatori LS 10 Coordinamento: Alcuni dettagli (2)  Il protocollo a due fasi garantisce affidabilità e correttezza dell’aggiornamento anche se cade il nodo gestore del processo (in possesso del token). Infatti le situazione che possono verificarsi sono tre: 1.Il nodo cade prima dell’inizio della prima fase:  Bisogna solo rigenerare il token; 2.Il nodo cade dopo l’inizio della prima fase e prima dell’inizio della seconda:  La lista delle nuove osservazioni effettuate e la coda della richieste di aggiornamento di ogni nodo vengono resettate solo nella seconda fase.  Anche in questo caso è necessario solo rigenerare il token; 3.Il nodo cade dopo l’inizio della seconda fase:  Gli altri nodi effettuano l’aggiornamento normalmente;  Anche in questo caso è necessario solo rigenerare il token;

11 Progetto di Reti di Calcolatori LS 11 Problemi di gestione di una rete ad anello  Dinamicità dei nodi partecipanti: Possibilità per un nodo di entrare volontariamente nella rete; Possibilità di uscirne in modo da non provocare problemi agl’altri nodi ancora connessi.  Guasto su un nodo della rete: Ipotesi semplificativa di guasto singolo, cioè è possibile che cada solo un nodo alla volta; Individuazione del nodo che ha subito il guasto; Procedure per il recovery del ring; Due situazioni possibili: 1. Guasto di un nodo senza token; 2. Guasto di un nodo in possesso del token.  Rigenerazione del token.

12 Progetto di Reti di Calcolatori LS 12 Ingresso/Uscita volontaria di un nodo  Quando un nodo vuole entrare fa una precisa richiesta ad uno dei nodi già “on-line”, che diventerà gestore di questo cambiamento: Informa tutti i nodi del nuovo ingresso, introducendo nel ring un apposito messaggio “NewCloser Message” attraverso il quale ogni nodo:  Aggiorna i propri riferimenti ai suoi vicini;  Eventualmente elimina le vecchie connessioni e crea le nuove. Inizializza lo stato del nodo entrante inviandogli il Training Set osservato dai nodi fino a quel momento. Ris.  Similmente quando un nodo vuole uscire dalla rete, avvisa con un opportuno messaggio il suo successivo, incaricandolo di occuparsi di questo cambiamento. Fa circolare un messaggio “NewCloserMessage” Ris.

13 Progetto di Reti di Calcolatori LS 13 Meccanismi di rilevazione del guasto  Meccanismo 1: Quando vengono inviati alcune informazioni chiave, come il Token o l’Election Token, è richiesto che il ricevente invii al mittente un messaggio di risposta (ack), in modo che questo abbia la garazia di aver inoltrato le informazioni a un nodo funzionante. Nodo M Nodo R Se la risposta non arriva entro lo scadere di un certo timeout, si può ipotizzare che il nodo ricevente sia caduto, quindi attivare una procedura di recovery.  Meccanismo 2: La connessione dei nodi ad anello garantisce che quando viene inviato un messaggio, esso dopo un certo tempo torna al mittente (se non ci sono stati problemi). Se allo scadere di un certo tempo massimo il messaggio non ancora torna al mittente, viene innescata una procedura di rilevamento del nodo simile a quella vista prima: ogni nodo invia un messaggio di “AreYouAlive” al suo successivo.

14 Progetto di Reti di Calcolatori LS 14 Recovery del ring  Chi è che individua il nodo caduto?  Nei meccanismi descritti in precedenza è il suo nodo precedente che non riceve risposta entro lo scadere di un timeout.  Il nodo che individua un guasto sul suo successivo: Stabilisce una nuova connessione con il suo secondo successivo;  Necessità di conoscere anche l’indirizzo del secondo nodo successivo. Lo informa attraverso l’invio di uno specifico messaggio della situazione.  Chi ha la responsabilità di effettuare la procedura di recovery?  Il nodo successivo a quello caduto.  Si comporta come se il suo nodo precedente abbia richiesto volontariamente l’uscita dal ring:  Informa tutti i nodi del cambiamento, introducendo nel ring un apposito messaggio “NewCloserMessage” attraverso il quale ogni nodo: Aggiorna i propri riferimenti ai suoi vicini; Eventualmente elimina le vecchie connessioni e crea le nuove.  Trasparenza nella gestione dell’uscita di un nodo.

15 Progetto di Reti di Calcolatori LS 15 Guasto di un nodo in possesso del token  Previsti dei timeout che per ogni nodo “misurano” da quanto tempo non passa il token e allo scadere dei quali viene innescato un protocollo di elezione per la generazione di un nuovo token.  Protocollo di elezione: Allo scadere di uno di questi timeout, se il nodo non ha ricevuto altri token di elezione (ET) creati da nodi più prioritari di lui, ne genera uno che riporta il suo nome. Se un nodo riceve un ET da un altro nodo e anche lui ha generato un ET di maggiore priorità, lo scarta. L’ET viene fatto circolare nel ring e quando torna al nodo che lo ha creato se: a) Mentre l’ET circolava il nodo ha ricevuto il token  La procedura di elezione viene sospesa. b) Mentre l’ET circolava è passato un ET più prioritario.  L’ET creato viene scartato. c) Altrimenti  Il nodo è stato eletto per creare il nuovo token.

16 Progetto di Reti di Calcolatori LS 16 Alcuni dettagli sul meccanismo di elezione  Uno dei motivi possibili per cui un nodo non riceve il token entro il tempo limite prefissato è il fallimento del nodo che lo possedeva.  Se andassimo ad innescare immediatamente il protocollo di elezione non riusciremmo a portare a termine la procedura, poichè il nodo fallito impedirebbe la circolazione degli ET.  Prima di iniziare il protocollo di elezione bisogna accertarsi dell’integrità dell’anello.  Si considera il messaggio di invio dell’Election Token come un messaggio del tipo “AreYouAlive”, al quale cioè si richiede che il ricevente risponda con un messaggio che informi il mittente che il suo successore funziona correttamente.  Se un certo nodo non riceve il messaggio di risposta entro un certo tempo predefinito, attiva la procedura di recovery discussa in precedenza.

17 Progetto di Reti di Calcolatori LS 17 Gestione del carico  Quando viene servita una richiesta di aggiornamento dell’albero tutti i nodi eseguono il suo ricalcolo.  Da questo punto di vista i nodi vengono caricati tutti allo stesso modo.  Il contributo che differenzia il carico sui vari nodi è dovuto alla gestione delle richieste di classificazione.  Una possibile soluzione è realizzare un sistema di Load Sharing che permetta di allocare le richieste, prima che inizi la loro esecuzione, considerando la situazione di carico di tutti i nodi della rete: Quando un nodo riceve una richiesta di classificazione viene fatto circolare nell’anello un messaggio che registra la disponibilità e l’identità del nodo più scarico; Quando il messaggio torna al mittente la richiesta viene ridirezionata verso il nodo individuato.  Si può rilassare il protocollo attivando la procedura solo quando il numero di richiesta in coda supera un certo limite.

18 Progetto di Reti di Calcolatori LS 18 Struttura di un nodo (1)  Si possono individuare due categorie di componenti: 1.Componenti Applicativi: Classificatore; Nuovi Esempi; TSglobale. 2.Componenti di Supporto: Quelli che forniscono al nodo le capacità di comunicazione e di integrazione in un gruppo.  Ogni nodo che appartiene al ring deve essere in grado di: 1.Ricevere messaggi dal precedente  Svolgere il ruolo di Server; 2.Inviare messaggi verso il successivo  Svolgere il ruolo di Client.  Necessità di due Thread distinti, dato che l’azione di ascolto del Server è sospensiva. Server Manager Porta Client Manager Porta IP inoltra Gestore Rete Gestore classif. Nuovi Esempi TS globale Classifica- tore IP

19 Progetto di Reti di Calcolatori LS 19 Struttura di un nodo (2)  Un nodo deve poter gestire richieste: Di aggiornamento dell’albero decisionale; Di ingresso/uscita dalla rete di altri nodi; Di classificazione di nuove istanze.  Sono stati costruiti due processi: 1.Il primo si occupa della gestione delle richieste che attivano l’inizio di uno o più protocolli di interazione fra i nodi al fine di poter modificare lo stato della rete o dei nodi in modo coerente e affidabile. È attivo solo quando il nodo è in possesso del token. 2.Il secondo si occupa di gestire le sole richieste di classificazione. Viene sospeso durante la fase di aggiornamento dell’albero.  Per realizzare una politica fair nei confronti delle richieste pendenti su altri punti della rete, un nodo quando riceve il token gestisce solo una richiesta per ogni coda, gestita in modo FIFO.

20 Progetto di Reti di Calcolatori LS 20 Conclusioni  Replicare la risorsa (l’albero decisionale) su ogni nodo ha consentito di realizzare un sistema con altissimi livelli di affidabilità e disponibilità.  L’utilizzo di una topologia di rete ad anello ha da un lato introdotto notevoli vantaggi in termini di efficienza sul coordinamento dei nodi, dall’altro ha richiesto l’introduzione di alcuni protocolli di supporto per la sua manutenzione.  Grazie alla realizzazione del progetto sono stati esplorati alcuni temi fondamentali della progettazione in ambito distribuito: Modelli di Replicazione e Coordinamento; Tolleranza ai guasti; Sincronizzazione Gestione del carico.

21 Progetto di Reti di Calcolatori LS 21 Bibliografia  Dispense di Reti di Calcolatori LA e Reti di Calcolatori LS del Prof. Corradi.  Andrew S. Tanebaum, “Reti di Computer”, Prentice Hall International.


Scaricare ppt "Progetto di un Agente per l’Apprendimento mediante Alberi Decisionali in ambito distribuito Studente: Luca Monaco Anno Accademico 2003-2004."

Presentazioni simili


Annunci Google