Strategie di comunicazione in simulazioni distribuite basate su agenti: D-MASON. Carmine Spagnuolo

Documenti analoghi
Scalable Computational Science. Carmine Spagnuolo

Un framework per simulazione massiva distribuita basata su Agenti D-MASON: Architettura. Carmine Spagnuolo

MPI. MPI e' il risultato di un notevole sforzo di numerosi individui e gruppi in un periodo di 2 anni, tra il 1992 ed il 1994

Modelli di programmazione parallela

Introduzione ai thread

Processi, Threads e Agenti

LOAD BALANCING PER SERVIZI DI

Laboratorio software. A.A C. Brandolese

Parte II - Reti di Calcolatori ed Internet IL LIVELLO RETE

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Scuola di Calcolo Scientifico con MATLAB (SCSM) 2017 Palermo 31 Luglio - 4 Agosto 2017

Introduzione al Calcolo Parallelo Algoritmi e Calcolo Parallelo. Daniele Loiacono

Introduzione ai. Sistemi Distribuiti

Traduzione e interpretazione

Architetture di rete. 4. Le applicazioni di rete

Java: un linguaggio per applicazioni di rete

Introduzione ai. Sistemi Distribuiti

D.E.I.S. Università di Bologna DEISNet IC3N 2000 N. 1

AscotWeb - mediatore Versione dicembre 2015

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

Lezione n.19 22/05/2009 OVERLAY WEAVER Laura Ricci

Sistemi Operativi: Concetti generali. Sistemi Operativi: Concetti generali

Design of Parallel Algorithm

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione

Conseguenze Algoritmiche del fenomeno small world

Progetto e sviluppo di un applicazione Android per il controllo di reti di sensori senza filo

Processi non sequenziali e tipi di interazione

Processi non sequenziali e tipi di interazione

Calcolo parallelo. Una sola CPU (o un solo core), per quanto potenti, non sono sufficienti o richiederebbero tempi lunghissimi

Principles of Concurrent Programming

Sommario 1 Introduzione progetto Soluzione Integrazione Conclusioni... 10

Esercitazioni 13 e 14

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Informatica 3. Informatica 3. Lezione 1- Modulo 1. LEZIONE 1: Introduzione. Concetti di linguaggi di programmazione. Introduzione

BASI DI DATI DISTRIBUITE

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE. Algoritmo, programma, processo

Classificazione delle Architetture Parallele

Storia dell informatica e del calcolo automatico. Murano Aniello D Avino Assunta

Calcolo parallelo. Una sola CPU (o un solo core), per quanto potenti, non sono sufficienti o richiederebbero tempi lunghissimi.

Lab 1: Java Multithreading

Le aree dell informatica

Internet (- working). Le basi.

2. Finalità generali previste dalle indicazioni nazionali

Algoritmi e Strutture Dati

Dal sito web all applicazione mobile

PROBLEMA. Progettare un algoritmo parallelo per architettura MIMD-DM per il calcolo dell integrale definito: R = dominio di integrazione

ACSO Programmazione di Sistema e Concorrente

MATRICE TUNING competenze versus unità didattiche, Corso di Laurea in Informatica (classe L-31), Università degli Studi di Cagliari

Generalità su P-NET. Usato per acquisizione dati, configurazione di nodi/sensori, e downloading di programmi.

SISTEMI OPERATIVI EMBEDDED. Sistemi Embedded

Simulazione distribuita. Approccio pessimistico

Il calcolatore. Architettura di un calcolatore (Hardware)

il tipo di parallelismo dipende dal grado di cooperazione

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

Programmi e Oggetti Software

ALLEGATO A (D.R. n. 832 del ) AREA SCIENTIFICO DISCIPLINARE INGEGNERIA INDUSTRIALE E DELL INFORMAZIONE

Gestione del processore. Il modello a thread

Il Sistema Operativo Processi e Risorse

Corso di Informatica

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit per lo sviluppo di interfacce utente con paradigma MVC.

2. Cenni di sistemi operativi

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

Corso di Informatica

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

Elenco sezioni libro di testo Ed. 5 Tra parentesi le corrispondenze per l'ed. 7.

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

Applicazioni distribuite e sistemi ad oggetti distribuiti

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

Marco Tarini - Università dell'insubria A.A. 2016/17. Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate

molteplici problemi e la realizzazione di una gran quantità di servizi, da parte

Model-View- Controller

Informatica: arte e mestiere 3/ed

Programmi e Oggetti Software

INFORMATICA. Prof. MARCO CASTIGLIONE. Istituto Tecnico Statale Tito Acerbo - PESCARA

Architetture dei sistemi distribuiti. Mariagrazia Fugini Impianti Como 08-09

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

Algoritmi distribuiti su reti sincrone. Introduzione alle reti sincrone

SISTEMI DI ELABORAZIONE

Scalabilità Energetica di Algoritmi Paralleli su Architetture Multicore. Gennaro Cordasco

Global Virtual Time (GVT) e Approfondimenti sul Time Warp

CPX-FB40 Ethernet POWERLINK

Università degli Studi di Napoli Federico II

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

Basi di Dati. Prof. Alfredo Cuzzocrea Università degli Studi di Trieste. Basi di Dati e Web. Credits to: Prof. M. Di Felice UniBO

Processi, Threads e Agenti

Centralizzata Monolitica anni Reti Client Server anni Internet The network is the computer

Ambienti di calcolo a griglia Parte 2. Docente: Marcello CASTELLANO

Elementi di programmazione

SISTEMI OPERATIVI DISTRIBUITI

Reti di Calcolatori COMMS Reti di Calcolatori 1. Il modello Client/Server. I Sistemi di Rete

Il Sistema Operativo Ripasso

SISTEMI OPERATIVI THREAD. Giorgio Giacinto Sistemi Operativi

Comunicazione tra Processi

Comunicazione tra Processi

Componenti principali

Transcript:

in simulazioni distribuite basate su agenti: D-MASON Carmine Spagnuolo

Overview 1 2 3 4

Simulazione Multi-Agente Ambiti di utilizzo

Simulazione Multi-Agente Distribuita La simulazione parallela/distribuita consente a un programma di simulazione di essere eseguito da più computer interconnessi. Vantaggi Riduzione del tempo di esecuzione Aumento del dettaglio dei modelli di simulazione Esecuzione in ambienti eterogenei Tolleranza ai malfunzionamenti

MASON Toolkit di simulazione multi-agente MASON Libreria scritta in Java per la modellazione di sistemi basati su agenti Architettura: Simulation Model Visualization Toolkit Progettata e realizzata presso la George Mason University (GMU), Virginia, USA. http://cs.gmu.edu/ eclab/projects/mason/

D-MASON versione distribuita di MASON (1) D-MASON Distributed MASON (D-MASON) permette l esecuzione di simulazioni scritte in MASON in ambiente distribuito. Componenti principali: Distributed Simulation System Management Progettato e realizzato presso il laboratorio ISISLab dell Università degli Studi di Salerno http://www.dmason.org (Optional) MASON GUI Tools MASON Model, Library, Utilities D-MASON Applications (Optional) Domain- Specific Simulation Library, Tools

D-MASON versione distribuita di MASON (2) Obiettivi di D-MASON Consentire l esecuzione distribuita di simulazioni scritte in MASON al minimo costo di conversione. Superare i limiti di MASON, in termini di numero di agenti e dettaglio dei modelli. Esecuzione in ambienti distribuiti composti da macchine eterogenee. Nessuna modifica della libreria MASON.

D-MASON versione distribuita di MASON (3) tiche - Stato dell arte Distribuzione del carico di lavoro Field Partitioning Partizionamento del campo di simulazione in celle. Celle vicine comunicano prima di ogni passo di simulazione. Publish/Subscribe, modello Client/Server Sincronizzazione conservativo Riproducibilità della simulazione Deriva dalla strategia conservativa utilizzata Bilanciamento del carico Architettura Master/Worker

D-MASON versione distribuita di MASON (4) Paradigma Publish/Subscribe & Field Partitioning

D-MASON versione distribuita di MASON (5)

Obiettivi del lavoro tiche affrontate 1 Meccanismo di visualizzazione efficiente per simulazioni distribuite massive 2 Publish/Subscribe, modello Client/Server Publish/Subscribe, strategia Serverless

della visualizzazione La visualizzazione delle simulazioni è il principale strumento utilizzato per l interpretazione delle simulazioni. Un sistema di simulazione distribuito deve consentire la visualizzazione da un nodo particolare del sistema chiamato Visualizzatore. Esempio di visualizzazione. Simulazione Boids di Craig Reynolds. Stormi di uccelli in volo.

alla visualizzazione Soluzione ovvia: invio degli agenti in un singolo nodo del sistema sovraccarico del nodo visualizzatore ed elevato traffico in rete già nel caso di simulazioni con poche centinaia di agenti Soluzione proposta: 1 Diminuire il livello di dettaglio della visualizzazione tramite una strategia ispirata alla perdita di informazione Ogni nodo del sistema costruisce un immagine della posizione degli agenti di sua competenza e la invia il nodo centrale visualizza la composizione delle immagini ricevute 2 Consentire la visualizzazione dettagliata solo di una porzione della simulazione

Il meccanismo consente la visualizzazione di milioni di agenti in modo veloce. Visualization Layer di : visualizzazione globale a basso dettaglio; ZoomAPP: implementa in D-MASON la visualizzazione ad alto dettaglio utilizzando le componenti software di MASON.

D-MASON

D-MASON Communication Layer Modello Client/Server D-MASON utilizza il paradigma Publish/Subscribe (P/S) per propagare gli aggiornamenti tra le celle. La versione attuale di D-MASON utilizza Java Message Service (JMS) per la tra i Worker e il Communication Server. Utilizzando l approccio alla distribuzione Field Partitioning ogni cella deve inviare un messaggio di aggiornamento per ognuno dei suoi confini. Ogni confine è identificato in accordo col paradigma P/S utilizzando i topic.

della Scalabilità La terminazione di un passo è caratterizzata dalla sincronizzazione delle celle tramite lo scambio di informazioni. Nell esempio una cella invia 8 messaggi. Il numero di comunicazioni è 2 volte il numero di messaggi necessari.

Obiettivi Eliminare il server centrale utilizzando lo standard Message Passing Interface (MPI). Sfruttare le peculiarità di collettiva di MPI. Astrarre il paradigma P/S per garantire: la in D-MASON; il disaccoppiamento tra identificativo dei processi e dei topic; scalabilità del numero di topic utilizzabili.

Massage Passing Interface Message Passing Interface è uno standard proposto per l architettura parallela MIMD (Multiple Instruction Multiple Data) di una libreria di scambio di messaggi. MPI è il risultato di uno sforzo congiunto di ricercatori Americani ed Europei, di molte organizzazioni e istituzioni.

OpenMPI & mpijava OpenMPI è un progetto open-source di una implementazione MPI-2. mpijava è un wrapper Java per le chiamate alle routine MPI: è incluso in OpenMPI; utilizza Java Native Interface (JNI), versione Java Development Kit (JDK) 1.4, che consente di richiamare codice compilato nativo (OpenMPI) da applicazioni Java.

mpijava Il paradigma di programmazione utilizzato in D-MASON è una combinazione di message passing e multithreading. La proprietà di thread safety è un requisito indispensabile per il layer di. La versione MPI-2 offre 4 livelli di safeness rispetto le routine di ed accesso al layer MPI. mpijava nella sua versione 1.2.5 rispetta lo standard MPI-1.1 e non garantisce alcun livello di safeness. Il nuovo layer di deve garantire l accesso al layer MPI in modo sequenziale.

Assunzioni per la in D-MASON (1) E possibile suddividere l esecuzione di una simulazione in D-MASON in due fasi: 1 Information Exchange, le celle costruiscono e si sottoscrivono ai topic identificanti i confini. I topic identificano gruppi di processi che devono comunicare; 2 Computation & Synchronization, ogni cella ripetutamente esegue un passo di computazione e uno di pubblicando su ogni topic costruito. L invio di un messaggio su un topic corrisponde all invio in un gruppo di.

Assunzioni per la in D-MASON (2) Nelle operazioni della fase di Information Exchange assumiamo: 1 Creazione dei topic: una cella che crea un topic lo utilizzerà per inviare un messaggio alla terminazione di un passo di simulazione; 2 Sottoscrizione ai topic: una cella si sottoscrive ad almeno un topic.

Assunzioni per la in D-MASON (3) Nelle operazioni della fase di Computation & Synchronization assumiamo: 1 Pubblicazione: la fase di invio avviene solo alla terminazione del passo di simulazione; 2 Ricezione: ogni cella deve ricevere un messaggio per ognuno dei topic a cui si è sottoscritta prima di poter eseguire il prossimo passo di computazione.

Strategia generale In base alle precedenti assunzioni è possibile realizzare una strategia di dove: 1 Ogni Worker della simulazione è un processo MPI. 2 Nella fase di Information Exchange si formano gruppi di MPI: Ogni cella invia un messaggio alle altre celle con la lista dei topic created/subscribed. 3 Nella fase di Computation & Synchronization il synchronization time può essere suddiviso in round di : Ogni cella invia sui topic created e riceve da quelli subscribed. Seguendo questa strategia generale è possibile garantire la thread safety e la in D-MASON.

tra le celle: Broadcasting Ogni processo invia le informazioni a tutti i membri di un gruppo.

tra le celle: Gathering Ogni processo riceve le informazioni da tutti i membri di un gruppo.

tra le celle: Parallel (1) La versione mpijava 1.2.5 che utilizza JNI (JDK 1.4) ha alcune limitazioni nell invio di oggetti Java: Serializzazione; Routine di collettiva che non utilizzano algoritmi ottimizzati ma semplici invii sequenziali; Copie dalla memoria della macchina virtuale alla memoria nella quale è in esecuzione l ambiente MPI. Tali limiti costringono alla progettazione di una strategia differente per ottenere il massimo dell efficienza.

tra le celle: Parallel (2) Per massimizzare l efficienza di si può massimizzare il numero di comunicazioni simultanee. L esempio mostra le possibili comunicazioni parallele nel caso di quattro processi.

tra le celle: Parallel (3) Ogni round di è composto da coppie di processi sender, receiver disgiunte. Il problema consiste nel trovare uno schedule Γ di γ round di. Questo problema è conosciuto col nome di Edge Coloring. In letteratura esistono algoritmi che richiedono + 1 colori per grafi non orientati ( grado massimo del grafo, massimo numero di archi incidenti in un nodo). In questo lavoro è stato utilizzato un algoritmo greedy che richiede 2( + 1) colori per grafi orientati. I colori selezionati sono stati utilizzati per formare i round di.

tra le celle: Parallel (4)

Simulazione presa in esame: DFlockers, simulazione Boids, la cui implementazione è disponibile nel pacchetto D-MASON. Ambiente: quattro processi MPI in esecuzione su quattro nodi. Risultati: i valori delle ordinate sono la differenza percentuale dei tempi di esecuzione di 2000 passi di simulazione al variare del numero di agenti (Basso è meglio).

Sviluppi futuri Il numero di round utilizzati in accordo alla strategia di Field Partitioning è Broadcasting: Grid[2 2] 8 4 =32; Grid[4 4] 8 16 =128. Parallel: Grid[2 2] (8 + 1) 2 =18; Grid[4 4] (8 + 1) 2 =18. Eseguire test di valutazione delle performance a partire da un numero di processi/processori pari a 16.

Questo lavoro è stato pubblicato in Meccanismo di visualizzazione centralizzato: Gennaro Cordasco, Rosario De Chiara, Francesco Raia, Vittorio Scarano, Carmine Spagnuolo and Luca Vicidomini, Designing computational steering facilities for distributed agent based simulations, In Proceedings of the 2013 ACM SIGSIM conference on Principles of Advanced Discrete Simulation (PADS), : Gennaro Cordasco, Ada Mancuso, Francesco Milone and Carmine Spagnuolo, Communication s in Distributed Agent-Based Simulations: the experience with D-MASON, Parallel and Distributed Agent-Based Simulations (PADABS) Workshop of Euro-Par 2013.

Fine