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

Slides:



Advertisements
Presentazioni simili
La rete del futuro nell’autonomia scolastica
Advertisements

Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 29/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Ricerca della Legge di Controllo
Concetti introduttivi
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito1 Reti di Calcolatori LS REALIZZAZIONE DI UN SERVIZIO DI ANNUNCI DISTRIBUITO Studente:
SARAH Shop Assistant in Reti Ad-Hoc Presence Awareness, modalità disconnessa e dinamiche di update Antonio Gaetani.
Presentazione del progetto di: Reti di calcolatori L-S Matteo Corbelli.
Supporto per servizi di File Hosting Presentazione di progetto per lesame di Reti di Calcolatori LS Valerio Guagliumi
Un sistema software per la vendita di prodotti on-line Università degli studi di Bologna Facoltà di ingegneria Reti di calcolatori L-S Studente: Rinaldi.
Qualità di servizio in ambiente wireless Progetto per il corso di Reti di Calcolatori L-S Prof. Antonio CorradiValentina Maraldi.
Progetto Di Uninfrastruttura Che Permetta La Modifica Di Dati Condivisi Distribuiti Su Più Nodi Reti di calcolatori L-S Gozzi Daniele
Proxy-based infrastructure for LBS availability Reti di Calcolatori L-S Andrea Licastro
BlueMar k Sistema di Proximity Marketing con QoS ed availability Progetto per il Corso di Reti di Calcolatori LS Nicola Bonoli - 27 Giugno 2007.
CryptoAnalisisServer(CAS) Reti di Calcolatori LS progetto di Carpenè Michele, Busacca Fulvio Servizio distribuito basato sul calcolo parallelo per operazioni.
Replicazione delle risorse: UN CASO DI STUDIO
1 Packet Manager Sistema di gestione di pacchetti software per il progetto dell'esame di Reti di Calcolatori LS Progetto realizzato da Fabio Parisini.
M.A.E.A.I. Mobile Agent and Enterprise Architecture Integration Il gestore delle politiche Valerio Siri Reti di Calcolatori LS Docente: Antonio Corradi.
PERMESSO PERsistent MESSaging in ad hOc networks Corso di Reti di Calcolatori L-S AA Presentazione di Roberto Gamboni Progetto di Giuseppe Vitalone,
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
DEIS Università di Bologna
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Distributed File System Service Dario Agostinone.
Architettura e protocolli di distribuzione dello stato in videogiochi Multiplayer distribuiti Michele Pace Esame di Reti di Calcolatori LS Aa
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
Progetto Message Queues Service Olivelli Enrico Corso di Reti di Calcolatori LS A.A
Nemesi Creazione e pubblicazione di una rivista online tramite l’utilizzo di Java Message Service.
1 Esercitazione Sistemi distribuiti: sistemi che risisedono su più calcolatori interconnessi da una rete di comunicazione Algoritmi distribuiti: programmi.
Reti di calcolatori LS Enrico Pirazzini SSB un middleware basato su JMS per l'invocazione di servizi remoti.
Tipi e topologie di LAN Lezione 2.
Producer – Consumer System Di Carlo Matteo CdLS Ingegneria Informatica (0234) Reti di Calcolatori LS A.A. 2004/2005.
MCSA Mobile Code System Architecture Infrastruttura a supporto della code mobility Pierfrancesco Felicioni Reti di Calcolatori L.S. 2005/2006.
Progetto di: Daniele De Angelis Corso di: Reti di Calcolatori LS Un sistema fault tolerance per protocollo Diffie-Hellman.
Studio di una soluzione distribuita per la gestione di un centro sondaggi.
Supporto per la replicazione attiva di servizi Progetto per il corso di Reti di Calcolatori LS Montanari Mirko Matr:
Sistema di replicazione master-multislave con server di backup per un servizio di chat di Marco Andolfo matr
Infrastruttura per la gestione distribuita di un sistema di prenotazione Progetto di: Fabio Fabbri Matricola
PROTOTIPO DI UN GIOCO DI STRATEGIA IN RETE Alberto Buccella Università degli studi di Bologna Facoltà di Ingegneria Corso di Ingegneria Informatica.
Reti di calcolatori Modulo 2 -Protocolli di rete TCP/IP Unità didattica 2 – Il protocollo TCP/IP Ernesto Damiani Università degli Studi di Milano - SSRI.
Progetto di un Group Communication System Reti di Calcolatori LS A.A Giampaolo Capelli.
Multi agent System per la gestione di feed RSS. Obiettivi  Progettazione di un sistema ad agenti basato su tucson per la gestione di feed RSS  Sviluppo.
STUDIO SULLA REPLICAZIONE DEGLI AGENTI NEL SISTEMA SOMA Andrea Sambi.
P2P Reliable Multicast Messenger Progetto e realizzazione di un software peer to peer per comunicazioni di gruppo.
Progetto di un sistema di comunicazione di gruppo con multicast causale Reti di Calcolatori L-S Marco Canaparo Matricola
PERMESSO PERsistent MESSaging in ad hOc networks Corso di Reti di Calcolatori LS – AA Presentazione di Davide Sansovini Professore: Antonio Corradi.
Sistema di Replicazione di Risorse Distribuite Ring-Based Reti di Calcolatori LS Alessio Bonfietti.
Servizio di newsgroup con replicazione dei server Studente: Letizia Cheng Cheng Sun Matricola: Reti di Calcolatori LS – Prof. A. Corradi A.A. 2003/2004.
Progetto di un Gestore di Nomi Corso di Reti di Calcolatori L-S prof. Antonio Corradi A.A 2003/2004 Autore: Molesini Ambra.
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
R.E.V.E.N.G.E. RELIABLE AND VERSATILE NEWS DELIVERY SUPPORT FOR AGENCIES Corso di Reti di Calcolatori LS – AA Professore: Antonio Corradi Referente.
Progetto e Realizzazione di un servizio di Chat Progetto di: Nicoli Leonardo Corso di: Reti di Calcolatori L-S.
Proxy-based infrastructure for LBS availability Bucco Nicola matr
Middleware per la sincronizzazione di ambienti eterogenei Progetto di Reti di Calcolatori LS Emanuele Crescentini matr Ingegneria Informatica LS.
Corso di Reti di Calcolatori LS Progetto di un server FTP in grado di coordinarsi con altri mirror per garantire QoS di Marco Buccione.
Prof. ing. Paolo Bidello AA 2005/2006 Laboratorio Informatico Promemoria degli argomenti: Reti locali (LAN)
Progetto RE.VE.N.GE. MQ REliable and VErsatile News delivery support for aGEncies Sistema di Distribuzione Reti di Calcolatori LS – Prof. Antonio Corradi.
Reti di Calcolatori LS - Fabio Poli 15 Giugno 2006 Sviluppo di un player di Campo Minato multigiocatore con supporto di Chat MultiCast.
B IBLIO S ERVICE consultazione di articoli online Anna Riccioni Progetto per il corso di Reti di Calcolatori L-S Anno Accademico
Proxy based infrastructure for LBS availability Reti di Calcolatori LS Serena Agresti.
Progetto PERMESSO Progetto PERMESSO PERsistent MESSagging in ad hOc networks Presentazione di Elisabetta Visciotti Progetto di Gruppo di: Manuela Bassetti,
Alex Marchetti Infrastruttura di supporto per l’accesso a un disco remoto Presentazione del progetto di: Reti di calcolatori L-S.
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
Mobile Agent and Enterprise Architecture Integration Il Gestore di Librerie e Servizi Lambertini Riccardo.
JDICS Java Dynamic Infrastructure for C/S systems Laura Galli matr Reti di calcolatori LS, Prof. A.Corradi A.A
Reti di Calcolatori L-S Professor Antonio Corradi A.A Sistema Publish-Subscribe per la Gestione degli Eventi della Provincia di Rimini Provincia.
Pari Gioia Reti Di Calcolatori LS A.A. 2003/04.
Le basi di dati.
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Algoritmi distribuiti Lezione n°9.
Transcript della presentazione:

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

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

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.

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.

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.

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.

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.

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.

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.

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;

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.

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.

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.

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.

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.

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.

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.

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

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.

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.

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.