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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

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

2 Overview

3 Simulazione Multi-Agente Ambiti di utilizzo

4 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

5 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. eclab/projects/mason/

6 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 (Optional) MASON GUI Tools MASON Model, Library, Utilities D-MASON Applications (Optional) Domain- Specific Simulation Library, Tools

7 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.

8 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

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

10 D-MASON versione distribuita di MASON (5)

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

12 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.

13

14 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

15 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.

16 D-MASON

17 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.

18 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.

19 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.

20 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.

21 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.

22 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 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.

23 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.

24 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.

25 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.

26 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.

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

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

29 tra le celle: Parallel (1) La versione mpijava 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.

30 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.

31 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.

32 tra le celle: Parallel (4)

33 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).

34 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.

35 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.

36 Fine

Scalable Computational Science. Carmine Spagnuolo

Scalable Computational Science. Carmine Spagnuolo Scalable Computational Science Carmine Spagnuolo Università degli Studi di Salerno Dipartimento di Informatica Dottorato di Ricerca in Informatica e Ingegneria dell Informazione DOCTOR OF PHILOSOPHY Computer

Dettagli

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

Un framework per simulazione massiva distribuita basata su Agenti D-MASON: Architettura. Carmine Spagnuolo Un framework per simulazione massiva distribuita basata su Agenti D-MASON: Architettura Carmine Spagnuolo 1 Simulazione Multi-Agente Una simulazione multi-agente è un sistema in cui entità (agenti) intelligenti

Dettagli

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

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 MPI e' acronimo di Message Passing Interface Rigorosamente MPI non è una libreria ma uno standard per gli sviluppatori e gli utenti, che dovrebbe essere seguito da una libreria per lo scambio di messaggi

Dettagli

Modelli di programmazione parallela

Modelli di programmazione parallela Modelli di programmazione parallela Oggi sono comunemente utilizzati diversi modelli di programmazione parallela: Shared Memory Multi Thread Message Passing Data Parallel Tali modelli non sono specifici

Dettagli

Introduzione ai thread

Introduzione ai thread Introduzione ai thread Processi leggeri. Immagine di un processo (codice, variabili locali e globali, stack, descrittore). Risorse possedute: : (file aperti, processi figli, dispositivi di I/O..),. L immagine

Dettagli

Processi, Threads e Agenti

Processi, Threads e Agenti Processi, Threads e Agenti Processi in Sistemi Distribuiti Un sistema software distribuito ècompostodaun insieme di processi in esecuzione su più nodi del sistema. Un algoritmo distribuito può essere definito

Dettagli

LOAD BALANCING PER SERVIZI DI

LOAD BALANCING PER SERVIZI DI LOAD BALANCING PER SERVIZI DI PRESENZA Carella Giuseppe Antonio Matricola 0000348431 Docente: Prof. Ing. Antonio Corradi Relatore: Ing. Luca Nardelli Attività progettuale di Reti di Calcolatori M Anno

Dettagli

Laboratorio software. A.A. 2009-2010 C. Brandolese

Laboratorio software. A.A. 2009-2010 C. Brandolese Laboratorio software A.A. 2009-2010 Hardware testing with software T1. RAM Testing Il progetto ha lo scopo di studiare e sviluppare alcune delle tecniche note per il testing della memoria RAM di un sistema

Dettagli

Parte II - Reti di Calcolatori ed Internet IL LIVELLO RETE

Parte II - Reti di Calcolatori ed Internet IL LIVELLO RETE Parte II - Reti di Calcolatori ed Internet IL LIVELLO RETE 3-1 Il Livello RETE Servizi del livello Rete Organizzazione interna Livello Rete basato su Circuito Virtuale Livello Rete basato su Datagram Algoritmi

Dettagli

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

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione I semestre 03/04 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 2

Dettagli

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

Scuola di Calcolo Scientifico con MATLAB (SCSM) 2017 Palermo 31 Luglio - 4 Agosto 2017 Scuola di Calcolo Scientifico con MATLAB (SCSM) 2017 Palermo 31 Luglio - 4 Agosto 2017 www.u4learn.it Alessandro Bruno Introduzione al calcolo parallelo Approcci per il calcolo parallelo Programmazione

Dettagli

Introduzione al Calcolo Parallelo Algoritmi e Calcolo Parallelo. Daniele Loiacono

Introduzione al Calcolo Parallelo Algoritmi e Calcolo Parallelo. Daniele Loiacono Introduzione al Calcolo Parallelo Algoritmi e Calcolo Parallelo Riferimenti q Questo materiale deriva dalle slide del prof. Lanzi per il corso di Informatica B, A.A. 2009/2010 q Il materiale presente in

Dettagli

Introduzione ai. Sistemi Distribuiti

Introduzione ai. Sistemi Distribuiti Introduzione ai Sistemi Distribuiti Definizione di Sistema Distribuito (1) Un sistema distribuito è: Una collezione di computer indipendenti che appaiono agli utente come un sistema singolo coerente. 1

Dettagli

Traduzione e interpretazione

Traduzione e interpretazione Traduzione e interpretazione Parte dei lucidi sono stati gentilmente forniti dal Prof. Salza VII.1 Linguaggi di programmazione Linguaggi ad alto livello Maggiore espressività Maggiore produttività Migliore

Dettagli

Architetture di rete. 4. Le applicazioni di rete

Architetture di rete. 4. Le applicazioni di rete Architetture di rete 4. Le applicazioni di rete Introduzione L avvento di tecnologie (hw, sw, protocolli) di rete avanzate ha permesso la nascita di architetture software molto evolute che permettono lo

Dettagli

Java: un linguaggio per applicazioni di rete

Java: un linguaggio per applicazioni di rete Java: un linguaggio per applicazioni di rete Moreno Falaschi Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena March 3, 2014 1 Caratteristiche di Java (SUN) Linguaggio

Dettagli

Introduzione ai. Sistemi Distribuiti

Introduzione ai. Sistemi Distribuiti Introduzione ai Sistemi Distribuiti Definizione di Sistema Distribuito (1) Un sistema distribuito è: Una collezione di computer indipendenti che appaiono agli utenti come un sistema singolo coerente. Definizione

Dettagli

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

D.E.I.S. Università di Bologna DEISNet   IC3N 2000 N. 1 Programmi per la simulazione D.E.I.S. Università di Bologna DEISNet http://deisnet.deis.unibo.it/ IC3N 2000 N. 1 Introduzione La maggior parte delle simulazione ad eventi discreti richiede le seguenti

Dettagli

AscotWeb - mediatore Versione dicembre 2015

AscotWeb - mediatore Versione dicembre 2015 AscotWeb - mediatore Versione 1.0.1 21 dicembre 2015 Approvazioni Il presente documento è stato approvato da: 20/05/16 12.17 2 Storia delle Modifiche Versione Data Descrizione 1.0 19/05/2016 Prima versione

Dettagli

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE 1 ALGORITMO, PROGRAMMA, PROCESSO Algoritmo Procedimento logico che deve essere eseguito per risolvere un determinato problema. Programma Descrizione di un

Dettagli

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

Lezione n.19 22/05/2009 OVERLAY WEAVER   Laura Ricci Università degli Studi di Pisa Dipartimento di Informatica Lezione n.19 22/05/2009 OVERLAY WEAVER HTTP://OVERLAYWEAVER.SF.NET 1 Overlay: Una rete costruita 'sopra' un'altra rete Internet sopra la rete

Dettagli

Sistemi Operativi: Concetti generali. Sistemi Operativi: Concetti generali

Sistemi Operativi: Concetti generali. Sistemi Operativi: Concetti generali Servizi fondamentali di un Sistema Operativo Classificazione dei Sistemi Operativi secondo l ut Servizi fondamentali di un Sistema Operativo Classificazione dei Sistemi Operativi secondo l ut Concetti

Dettagli

Design of Parallel Algorithm

Design of Parallel Algorithm Design of Parallel Algorithm Programmazione Concorrente, Parallela e su Cloud Carmine Spagnuolo, Ph.D. Plan 1 Progettazione di Programmi Tecniche Le problematiche Esempio 1: Array processing Esempio 2:

Dettagli

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

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

Dettagli

Conseguenze Algoritmiche del fenomeno small world

Conseguenze Algoritmiche del fenomeno small world Conseguenze Algoritmiche del fenomeno small world 0 Peer-to-Peer (P2P) Il termine Peer-to-Peer (P2P) si riferisce ad un architettura logica di rete in cui i nodi non sono gerarchizzati sotto forma di client

Dettagli

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

Progetto e sviluppo di un applicazione Android per il controllo di reti di sensori senza filo tesi di laurea Progetto e sviluppo di un applicazione Android per il controllo di reti di sensori senza filo 2011/2012 relatore Ch.mo prof. Marcello Cinque candidato Antonio Annunziata Matr. 534/00197

Dettagli

Processi non sequenziali e tipi di interazione

Processi non sequenziali e tipi di interazione Processi non sequenziali e tipi di interazione Algoritmo, programma, processo Algoritmo: Procedimento logico che deve essere eseguito per risolvere un determinato problema. Programma: Descrizione di un

Dettagli

Processi non sequenziali e tipi di interazione

Processi non sequenziali e tipi di interazione Processi non sequenziali e tipi di interazione 1 Algoritmo, programma, processo Algoritmo: Procedimento logico che deve essere eseguito per risolvere un determinato problema. Programma: Descrizione di

Dettagli

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

Calcolo parallelo. Una sola CPU (o un solo core), per quanto potenti, non sono sufficienti o richiederebbero tempi lunghissimi Calcolo parallelo Ci sono problemi di fisica, come le previsioni meteorologiche o alcune applicazioni grafiche, che richiedono un enorme potenza di calcolo Una sola CPU (o un solo core), per quanto potenti,

Dettagli

Principles of Concurrent Programming

Principles of Concurrent Programming Principles of Giuseppe Anastasi g.anastasi@iet.unipi.it Pervasive Computing & Networking Lab. () Dept. of Information Engineering, University of Pisa Overview Concetti preliminari Interazione fra processi

Dettagli

Sommario 1 Introduzione progetto Soluzione Integrazione Conclusioni... 10

Sommario 1 Introduzione progetto Soluzione Integrazione Conclusioni... 10 SISS SUITE Sommario 1 Introduzione... 3 2 progetto... 3 3 Soluzione... 3 4 Integrazione... 10 5 Conclusioni... 10 2 1 INTRODUZIONE L OMNICOM SISS Suite è una libreria DLL espressamente concepita per facilitare

Dettagli

Esercitazioni 13 e 14

Esercitazioni 13 e 14 Università degli Studi della Calabria Corso di Laurea in Ingegneria Informatica A.A. 2001/2002 Sistemi Operativi Corsi A e B Esercitazioni 13 e 14 Comunicazione tra processi (IPC) Meccanismo per la comunicazione

Dettagli

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 4 Traduzione ed esecuzione di programmi Ottobre 2006 Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente

Dettagli

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

Informatica 3. Informatica 3. Lezione 1- Modulo 1. LEZIONE 1: Introduzione. Concetti di linguaggi di programmazione. Introduzione Informatica 3 Informatica 3 LEZIONE 1: Introduzione Lezione 1- Modulo 1 Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di Introduzione al corso Politecnico di Milano - Prof. Sara Comai

Dettagli

BASI DI DATI DISTRIBUITE

BASI DI DATI DISTRIBUITE BASI DI DATI DISTRIBUITE Definizione 2 Un sistema distribuito è costituito da un insieme di nodi (o di siti) di elaborazione una rete dati che connette fra loro i nodi Obiettivo: far cooperare i nodi per

Dettagli

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE 1 Algoritmo, programma, processo Algoritmo Programma Processo Procedimento logico che deve essere eseguito per risolvere un determinato problema. Descrizione

Dettagli

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

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE. Algoritmo, programma, processo PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE 1 Processo sequenziale Sequenza di stati attraverso i quali passa l elaboratore durante l esecuzione di un programma (storia di un processo o traccia dell

Dettagli

Classificazione delle Architetture Parallele

Classificazione delle Architetture Parallele Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Classificazione delle Architetture Parallele Corso di Sistemi Distribuiti Valeria Cardellini Anno accademico 2009/10 Architetture parallele

Dettagli

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

Storia dell informatica e del calcolo automatico. Murano Aniello D Avino Assunta Storia dell informatica e del calcolo automatico Docente corso Docente abilitante Murano Aniello D Avino Assunta Negli ultimi anni sono state delineate le principali caratteristiche architetturali delle

Dettagli

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

Calcolo parallelo. Una sola CPU (o un solo core), per quanto potenti, non sono sufficienti o richiederebbero tempi lunghissimi. Calcolo parallelo Ci sono problemi di fisica, come le previsioni meteorologiche o alcune applicazioni grafiche, che richiedono un enorme potenza di calcolo. Una sola CPU (o un solo core), per quanto potenti,

Dettagli

Lab 1: Java Multithreading

Lab 1: Java Multithreading Dept. of Computer Science Lab 1: Java Multithreading Matteo Camilli matteo.camilli@unimi.it Laboratorio di Sistemi Operativi a.a. 2015/16 Università degli Studi di Bergamo 1 Outline Programmazione multithreading

Dettagli

Le aree dell informatica

Le aree dell informatica Fondamenti di Informatica per la Sicurezza a.a. 2006/07 Le aree dell informatica Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università

Dettagli

Internet (- working). Le basi.

Internet (- working). Le basi. Internet (- working). Le basi. 1 GABRIELLA PAOLINI (GARR) 18 OTTOBRE 2011 Capire come funziona Internet 2 FACCIAMO UN PASSO INDIETRO Internet È un insieme di reti interconnesse fra di loro su tutto il

Dettagli

2. Finalità generali previste dalle indicazioni nazionali

2. Finalità generali previste dalle indicazioni nazionali 2. Finalità generali previste dalle indicazioni nazionali Le Linee Guida ministeriali per i curricola del Secondo biennio dell Istituto Tecnico Tecnologico, Indirizzo Informatica e Telecomunicazioni -

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Cognome................................ Nome................................... Matricola............................... Algoritmi e Strutture Dati Prova scritta del 24 febbraio 2017 TEMPO DISPONIBILE:

Dettagli

Dal sito web all applicazione mobile

Dal sito web all applicazione mobile Dal sito web all applicazione mobile Paolo Milazzo Dipartimento di Informatica Università di Pisa Metodologie Informatiche Applicate al Turismo A.A. 2017/2018 Premessa Queste slides includono molti link

Dettagli

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

PROBLEMA. Progettare un algoritmo parallelo per architettura MIMD-DM per il calcolo dell integrale definito: R = dominio di integrazione PROBLEMA Progettare un algoritmo parallelo per architettura MIMD-DM per il calcolo dell integrale definito: R f ( t 1, t2, K, tn) dt1dt2 Kdt n R = dominio di integrazione 1 Esempio: n=2 R A R f ( t1, t2)

Dettagli

ACSO Programmazione di Sistema e Concorrente

ACSO Programmazione di Sistema e Concorrente ACSO Programmazione di Sistema e Concorrente P2 Modello Thread 2/12/2015 programma e parallelismo il tipo di parallelismo dipende dal grado di cooperazione (scambio di informazione) necessario tra attività

Dettagli

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

MATRICE TUNING competenze versus unità didattiche, Corso di Laurea in Informatica (classe L-31), Università degli Studi di Cagliari A: CONOSCENZA E CAPACITA DI COMPRENSIONE Conoscere e saper comprendere i fondamenti della matematica discreta (insiemi, interi, relazioni e funzioni, calcolo combinatorio) Conoscere e saper comprendere

Dettagli

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

Generalità su P-NET. Usato per acquisizione dati, configurazione di nodi/sensori, e downloading di programmi. Generalità su P-NET Progettato per connettere componenti per controllo di processo distribuito, quali Process computers, Sensori intelligenti, attuatori, moduli di I/O, PLC, ecc. Usato per acquisizione

Dettagli

SISTEMI OPERATIVI EMBEDDED. Sistemi Embedded

SISTEMI OPERATIVI EMBEDDED. Sistemi Embedded SISTEMI OPERATIVI SISTEMI OPERATIVI EMBEDDED Sistemi Embedded» Termine utilizzato per indicare l uso di HW e SW all interno di un prodotto progettato per svolgere una funzione specifica il computer non

Dettagli

Simulazione distribuita. Approccio pessimistico

Simulazione distribuita. Approccio pessimistico Simulazione distribuita Approccio pessimistico Sommario Esempio (simulazione del traffico aereo) Simulazione parallela ad eventi discreti Logical processes e messaggi time stamped Vincolo di causalità

Dettagli

Il calcolatore. Architettura di un calcolatore (Hardware)

Il calcolatore. Architettura di un calcolatore (Hardware) Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti

Dettagli

il tipo di parallelismo dipende dal grado di cooperazione

il tipo di parallelismo dipende dal grado di cooperazione Thread Settembre 2009 programma e parallelismo il tipo di parallelismo dipende dal grado di cooperazione (scambio d informazione) necessario tra attività svolte in parallelo processo macchina virtuale

Dettagli

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

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Un sistema software distribuito è composto da un insieme di processi in esecuzione su più nodi del sistema Un algoritmo distribuito può

Dettagli

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

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore. I SISTEMI OPERATIVI Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore. Le funzioni di un S.O. non sono definibili in modo esaustivo e puntuale così come non

Dettagli

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 06 Programmi e Oggetti Software Marzo 2010 Programmi e Oggetti Software 1 Contenuti Cosa è un programma Cosa significa programmare Il

Dettagli

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

ALLEGATO A (D.R. n. 832 del ) AREA SCIENTIFICO DISCIPLINARE INGEGNERIA INDUSTRIALE E DELL INFORMAZIONE ALLEGATO A (D.R. n. 832 del 14.10.2013) AREA SCIENTIFICO DISCIPLINARE INGEGNERIA INDUSTRIALE E DELL INFORMAZIONE PROGRAMMA DI RICERCA N. 1 Affissione dei criteri per la valutazione dei titoli e del colloquio:

Dettagli

Gestione del processore. Il modello a thread

Gestione del processore. Il modello a thread Gestione del processore Il modello a thread 1 Il modello a thread : motivazioni Nel modello a processi, ogni processo ha il suo spazio di indirizzamento privato ed il modo per interagire è quello di utilizzare

Dettagli

Il Sistema Operativo Processi e Risorse

Il Sistema Operativo Processi e Risorse ISTITUTO TECNICO SECONDO BIENNIO GIORGIO PORCU www.thegiorgio.it Sommario Processi Evoluzione dei Processi Modello a Processi Interrupt Context Switching Risorse Risorsa, Classe, Istanza, Molteplicità

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 A1 Gli oggetti reali 1 Prerequisiti Corso programmazione base Compito di una funzione Strutture di controllo 2 1 Introduzione Il mondo reale è popolato di oggetti, ciascuno

Dettagli

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

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit per lo sviluppo di interfacce utente con paradigma MVC. tesi di laurea Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit. Anno Accademico 2009/2010 relatore Ch.mo prof. Porfirio Tramontana correlatore Ing. Luca Anniciello candidato Gianluca

Dettagli

2. Cenni di sistemi operativi

2. Cenni di sistemi operativi 2. Cenni di sistemi operativi Andrea Marongiu (andrea.marongiu@unimore.it) Paolo Valente Contiene slides dal corso «Sistemi Operativi» dei prof. Gherardi/Scandurra dell Università degli studi di Bergamo

Dettagli

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

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T5 B1-Programmazione multithreading 1 Prerequisiti Schedulazione Attesa indefinita Lo stallo Tecnica round-robin 2 1 Introduzione La programmazione concorrente consente di chiedere

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2017-18 Pietro Frasca Lezione 9 Giovedì 2-11-2017 Comunicazione con pipe Oltre che con la memoria condivisa

Dettagli

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

Elenco sezioni libro di testo Ed. 5 Tra parentesi le corrispondenze per l'ed. 7. Elenco sezioni libro di testo Ed. 5 Tra parentesi le corrispondenze per l'ed. 7. Modulo 1 - Architettura del calcolatore Unità 1 - Architettura e funzionamento dei sistemi di elaborazione Lezione 1 - Macchina

Dettagli

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

Applicazioni distribuite e sistemi ad oggetti distribuiti. RPC RMI - Web Services 1 Applicazioni distribuite e sistemi ad oggetti distribuiti RPC RMI - Web Services 1 Complessità delle applicazioni distribuite La scrittura di applicazioni distribuite basate sull utilizzo di protocolli

Dettagli

Applicazioni distribuite e sistemi ad oggetti distribuiti

Applicazioni distribuite e sistemi ad oggetti distribuiti Applicazioni distribuite e sistemi ad oggetti distribuiti Complessità delle applicazioni distribuite La scrittura di applicazioni distribuite basate sull utilizzo di protocolli di comunicazione asincroni

Dettagli

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di

Dettagli

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

Marco Tarini - Università dell'insubria A.A. 2016/17. Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Astrazione e Macchine Virtuali parte 2: in un tipico calcolatore I livelli nei moderni calcolatori 6. Livello delle applicazioni

Dettagli

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

molteplici problemi e la realizzazione di una gran quantità di servizi, da parte Il modello OSI. La comunicazione tra due utenti di una rete di computer implica la risoluzione di molteplici problemi e la realizzazione di una gran quantità di servizi, da parte d opportuni software ed

Dettagli

Model-View- Controller

Model-View- Controller Model-View- Controller A. FERRARI MVC Il Model-View-Controller è un pattern architetturale molto diffuso nello sviluppo di sistemi software, in particolare nell'ambito della programmazione orientata agli

Dettagli

Informatica: arte e mestiere 3/ed

Informatica: arte e mestiere 3/ed Internet l Indice Storia di Internet Il protocollo TCP/IP Indirizzi IP Intranet e indirizzi privati Nomi di dominio World Wide Web Ipertesti URL e HTTP Motori di ricerca Posta elettronica Architettura

Dettagli

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 2 Programmi e Oggetti Software Alfonso Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Programmi e Oggetti Software

Dettagli

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

INFORMATICA. Prof. MARCO CASTIGLIONE. Istituto Tecnico Statale Tito Acerbo - PESCARA INFORMATICA Prof. MARCO CASTIGLIONE Istituto Tecnico Statale Tito Acerbo - PESCARA 1.1 Introduzione Internet è una rete di calcolatori collegati tra loro e fisicamente posizionati in tutto il mondo RETE

Dettagli

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

Architetture dei sistemi distribuiti. Mariagrazia Fugini Impianti Como 08-09 Architetture dei sistemi distribuiti Mariagrazia Fugini Impianti Como 08-09 Sommario Sistemi centralizzati e distribuiti Meccanismi per sistemi distribuiti RPC Client-server Middleware Distributed object

Dettagli

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

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione

Dettagli

Algoritmi distribuiti su reti sincrone. Introduzione alle reti sincrone

Algoritmi distribuiti su reti sincrone. Introduzione alle reti sincrone Lucia Pallottino. Sistemi Robotici Distribuiti - Versione del 18 Aprile 2012 194 Algoritmi distribuiti su reti sincrone Per questo capitolo si può fare riferimento al libro Distributed Algorithms di Nancy

Dettagli

SISTEMI DI ELABORAZIONE

SISTEMI DI ELABORAZIONE SISTEMI DI ELABORAZIONE CORSO DI LAUREA MAGISTRALE IN INGEGNERIA ELETTRONICA SPECIFICHE DI PROGETTO A.A. 2011/2012 Il progetto consiste nello sviluppo di un applicazione client/server. Client e server

Dettagli

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

Scalabilità Energetica di Algoritmi Paralleli su Architetture Multicore. Gennaro Cordasco Scalabilità Energetica di Algoritmi Paralleli su Architetture Multicore Gennaro Cordasco Outline Motivazioni Scalabilità Computazionale vs Scalabilità Energetica Modelli Computazionali e Assunzioni Una

Dettagli

Global Virtual Time (GVT) e Approfondimenti sul Time Warp

Global Virtual Time (GVT) e Approfondimenti sul Time Warp Global Virtual Time (GVT) e Approfondimenti sul Time Warp Gabriele D Angelo gda@cs.unibo.it http://www.cs.unibo.it/~gdangelo Dipartimento di Scienze dell Informazione Università degli Studi di Bologna

Dettagli

CPX-FB40 Ethernet POWERLINK

CPX-FB40 Ethernet POWERLINK CPX-FB40 Ethernet POWERLINK Overview Cosa richiedono i nostri clienti? Applicazioni tipiche La piattaforma CPX Ulteriori benefici Overview Con il nuovo nodo POWERLINK è possibile integrare direttamente

Dettagli

Università degli Studi di Napoli Federico II

Università degli Studi di Napoli Federico II Università degli Studi di Napoli Federico II Corso di Laurea in Informatica VOGCLUSTERS: Una Web Applicationper il trattamento e l analisi di ammassi globulari Tutor accademico: Dott.ssa Anna Corazza Tutor

Dettagli

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

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni Componenti principali Componenti e connessioni Capitolo 3 CPU (Unita Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro 1 2 Architettura di Von Neumann Dati e instruzioni in memoria

Dettagli

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

Basi di Dati. Prof. Alfredo Cuzzocrea Università degli Studi di Trieste. Basi di Dati e Web. Credits to: Prof. M. Di Felice UniBO Basi di Dati Prof. Alfredo Cuzzocrea Università degli Studi di Trieste Basi di Dati e Web Credits to: Prof. M. Di Felice UniBO " Molti sistemi software prevedono la presenza di un database gestito da un

Dettagli

Processi, Threads e Agenti

Processi, Threads e Agenti Processi, Threads e Agenti Processi in Sistemi Distribuiti Un sistema software distribuito è composto da un insieme di processi in esecuzione su più nodi del sistema. Un algoritmo distribuito può essere

Dettagli

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

Centralizzata Monolitica anni Reti Client Server anni Internet The network is the computer Distributed Object C o m p utin g "!$#&% ')(+*,#&-).0/2143657*98:.;8

Dettagli

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

Ambienti di calcolo a griglia Parte 2. Docente: Marcello CASTELLANO Ambienti di calcolo a griglia Parte 2 Docente: Marcello CASTELLANO GRID: risorse (e loro gestione) Classificazione delle risorse Calcolo, Storage, Comunicazione Software e licenze Altre risorse Strategie

Dettagli

Elementi di programmazione

Elementi di programmazione Fondamenti di Informatica per la Sicurezza a.a. 2003/04 Elementi di programmazione Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università

Dettagli

SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching

Dettagli

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

Reti di Calcolatori COMMS Reti di Calcolatori 1. Il modello Client/Server. I Sistemi di Rete Reti di Calcolatori INFOS COS.. - 2004-2005 Reti di Calcolatori 1 I Sistemi di Rete Dal punto di vista del programmatore o dell utente la rete è il servizio di interconnessione tre due o più unità computazionali

Dettagli

Il Sistema Operativo Ripasso

Il Sistema Operativo Ripasso ISTITUTO TECNICO SECONDO BIENNIO GIORGIO PORCU www.thegiorgio.it Sommario Concetti di base Sistema Operativo Risorse Funzioni e Struttura Bootstrap, Kernel, Shell Gestione dei Processi Processo e PCB Algoritmi

Dettagli

SISTEMI OPERATIVI THREAD. Giorgio Giacinto Sistemi Operativi

SISTEMI OPERATIVI THREAD. Giorgio Giacinto Sistemi Operativi SISTEMI OPERATIVI THREAD 2 Motivazioni» Un programma complesso può eseguire in modo concorrente più funzioni attraverso la creazione e gestione di processi figli attraverso il meccanismo dei thread» La

Dettagli

Comunicazione tra Processi

Comunicazione tra Processi Comunicazione tra Processi Comunicazioni in un Sistema Distribuito Un sistema software distribuito è realizzato tramite un insieme di processi che comunicano, si sincronizzano, cooperano. Il meccanismo

Dettagli

Comunicazione tra Processi

Comunicazione tra Processi Comunicazione tra Processi Comunicazioni in un Sistema Distribuito Un sistema software distribuito è realizzato tramite un insieme di processi che comunicano, si sincronizzano, cooperano. Il meccanismo

Dettagli

Componenti principali

Componenti principali Componenti e connessioni Capitolo 3 Componenti principali n CPU (Unità Centrale di Elaborazione) n Memoria n Sistemi di I/O n Connessioni tra loro Architettura di Von Neumann n Dati e instruzioni in memoria

Dettagli