Strategie di comunicazione in simulazioni distribuite basate su agenti: D-MASON. Carmine Spagnuolo
|
|
- Emma Ricci
- 7 anni fa
- Visualizzazioni
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 Università degli Studi di Salerno Dipartimento di Informatica Dottorato di Ricerca in Informatica e Ingegneria dell Informazione DOCTOR OF PHILOSOPHY Computer
DettagliUn 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
DettagliMPI. 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
DettagliModelli 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
DettagliIntroduzione 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
DettagliProcessi, 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
DettagliLOAD 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
DettagliLaboratorio 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
DettagliParte 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
DettagliComunicazione 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
DettagliScuola 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
DettagliIntroduzione 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
DettagliIntroduzione 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
DettagliTraduzione 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
DettagliArchitetture 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
DettagliJava: 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
DettagliIntroduzione 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
DettagliD.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
DettagliAscotWeb - 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
DettagliPROCESSI 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
DettagliLezione 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
DettagliSistemi 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
DettagliDesign 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:
DettagliInformatica 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
DettagliConseguenze 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
DettagliProgetto 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
DettagliProcessi 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
DettagliProcessi 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
DettagliCalcolo 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,
DettagliPrinciples 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
DettagliSommario 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
DettagliEsercitazioni 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
DettagliCorso 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
DettagliInformatica 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
DettagliBASI 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
DettagliPROCESSI 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
DettagliPROCESSI 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
DettagliClassificazione 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
DettagliStoria 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
DettagliCalcolo 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,
DettagliLab 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
DettagliLe 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à
DettagliInternet (- 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
Dettagli2. 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 -
DettagliAlgoritmi e Strutture Dati
Cognome................................ Nome................................... Matricola............................... Algoritmi e Strutture Dati Prova scritta del 24 febbraio 2017 TEMPO DISPONIBILE:
DettagliDal 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
DettagliPROBLEMA. 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)
DettagliACSO 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à
DettagliMATRICE 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
DettagliGeneralità 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
DettagliSISTEMI 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
DettagliSimulazione 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à
DettagliIl 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
Dettagliil 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
DettagliUniversità 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ò
DettagliI 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
DettagliProgrammi 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
DettagliALLEGATO 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:
DettagliGestione 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
DettagliIl 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à
DettagliCorso 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
DettagliAnalisi 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
Dettagli2. 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
DettagliAXO - 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
DettagliCorso 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
DettagliUniversità 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
DettagliElenco 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
DettagliApplicazioni 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
DettagliApplicazioni 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
DettagliCONCETTI 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
DettagliMarco 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
Dettaglimolteplici 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
DettagliModel-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
DettagliInformatica: 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
DettagliProgrammi 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
DettagliINFORMATICA. 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
DettagliArchitetture 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
DettagliCos è 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
DettagliAlgoritmi 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
DettagliSISTEMI 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
DettagliScalabilità 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
DettagliGlobal 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
DettagliCPX-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
DettagliUniversità 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
DettagliComponenti 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
DettagliBasi 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
DettagliProcessi, 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
DettagliCentralizzata Monolitica anni Reti Client Server anni Internet The network is the computer
Distributed Object C o m p utin g "!$#&% ')(+*,#&-).0/2143657*98:.;8
DettagliAmbienti 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
DettagliElementi 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à
DettagliSISTEMI 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
DettagliReti 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
DettagliIl 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
DettagliSISTEMI 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
DettagliComunicazione 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
DettagliComunicazione 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
DettagliComponenti 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