Davide Rainis

Contatti: drainis@alice.it

Tesi: Porting of 'Virus' in D-Mason, analisys, issues and testing

My Work

I modelli di simulazione basati su agente (ABM) sono uno strumento sempre più popolare per la ricerca in molti ambiti diversificati come la biolo gia,l'ecologia, l'economia, le scienze politiche, la sociologia, ecc. Sono stati quindi necessari nuovi strumenti e piattaforme che permettessero di aiutare e migliorare lo sviluppo e la sperimentazione, in particolare strumenti, librerie e framework che rendono più veloci le simulazioni oltre a semplificarle. Un sistema multi-agente rappresenta un sistema composto da tanti agenti, componenti autonome che rappresentano oggetti o logici all'interno del sistema in grado di agire per raggiungere i propri obiettivi ed in grado di interagire con altri agenti all'interno del sistema stesso, che interagiscono tra loro per soddisfare un certo insieme di obiettivi, allo scopo di portare a termine un certo insieme di compiti. Mason è un toolkit per simulazioni multi agente interamente scritto in Java progettato per supportare un grande numero di agenti su una singola macchina oltre che una libreria di simulazioni. Quando si parla però di simulazioni massive, ossia simulazioni in cui vivono e interagiscono milioni di agenti, è necessaria una grande capacità di calcolo e il maggior limite di un software di simulazione è la scarsa capacità hardware di una singola macchina. In questi contesti entra in gioco il calcolo distribuito: in un ambiente composto da macchine eterogenee è possibile implementare ed eseguire simulazioni massive di agenti anche molto complessi. Entra in gioco D-Mason, estensione di Mason, che in aggiunta alle sue caratteristiche sfrutta le potenzialità del calcolo distribuito. Introduce nuovi concetti come il partizionamento del campo, la sincronizzazione, e la comunicazione. In questo lavoro di tesi si è andato quindi ad analizzare come eseguire il porting della simulazione 'Virus' da Mason a D-Mason esaminando e risolvendo tutto le problematiche da esso derivanti: introdurre tutte le astrazioni dei concetti in distribuito offerte da D-Mason necessarie per eseguire e mantenere funzionante la simulazione e modificare il comportamento degli agenti e della simulazione stessa tenendo conto del fatto che il nostro campo è di tipo toroidale; e le modifiche derivanti dall'analisi dei parametri discretization e AOI e di come essiincidono sull'esecuzione della simulazione.
Sono stati introdotti i concetti di Global Inspector e Global Viewer per poter memorizzare e visualizzare graficamente attraverso la console alcuni parametri globali della simulazione implementando la classe Inspectable.
Sono stati infine eseguiti dei test per analizzare il comportamento della simulazione nei seguenti scenari:

  • aumentando progressivamente le divisioni del field, mantenendo costanti width (6400), height (9600), N◦ di agenti (13824) e N◦ di Worker (7), modificando l'AOI e verificando la sua incidenza sul tempo che impiega la simulazione per eseguire 10000 step;
  • sulla come la natura distribuita della simulazione permetta di suddividere il lavoro su un numero crescente di Worker (da 2 a 10), mantenendo fissati width (6400), height (9600) e N◦ di agenti (13824) verificando come varia positivamente il tempo per eseguire 10000 step;
  • come varia il tempo di esecuzione della simulazione per eseguire 10000 step variando il parametro discretization e quindi l'overhead di informazioni necessarie per aggiornarsi sul vicinato mantenendo costanti width (6400), height (9600), N◦ agenti (13824), divisione (5x5) e Worker (7);
  • infine un test per verificare la scalabilità della simulazione all'aumentare della grandezza del campo e del numero di agenti mantenendo costanti la divisione del field (5x5) e il N◦ di Worker (7).

Seminari

  • 11/11/2013: Porting della simulazione "Virus" in DMason, analisi e problematiche.
    • Abstract: In questo seminario verrà descritto come è stato effettuato il porting della simulazione "Virus" in DMason, quali sono state le problematiche affrontate e come funziona la simulazione.

Riferimenti

  • Sean Luke, Claudio Cioffi-Revilla, Liviu Panait, and Keith Sullivan. MASON: A New Multi-Agent Simulation Toolkit. 2004. Proceedings of the 2004 SwarmFest Workshop.
  • Gennaro Cordasco, Rosario De Chiara, Ada Mancuso, Dario Mazzeo, Vittorio Scarano e Carmine Spagnuolo, A Framework for distributing Agent-based simulations: D-MASON, sottomesso per lapubblicazione HeteroPar'2011.