• Non ci sono risultati.

Simulazione parallela „ le unità di elaborazione sono interconnesse da una rete a bassa latenza, eventualmente con memoria condivisa (es

N/A
N/A
Protected

Academic year: 2021

Condividi "Simulazione parallela „ le unità di elaborazione sono interconnesse da una rete a bassa latenza, eventualmente con memoria condivisa (es"

Copied!
17
0
0

Testo completo

(1)

Gabriele D’Angelo

gda@cs.unibo.it

http://www.cs.unibo.it/~gdangelo

Dipartimento di Scienze dell’Informazione Università degli Studi di Bologna

Simulazione Parallela e Distribuita

Introduzione e motivazioni

(2)

Riferimenti

•Parallel and Distributed Simulation Systems Richard M. Fujimoto

Wiley-Interscience ISBN 0-471-18383-0

•Corso del Prof. Richard Fujimoto

http://www.cc.gatech.edu/classes/AY2000/cs4230_spring/

•Queste slide e altre risorse utili:

http://www.cs.unibo.it/~gdangelo/didattica.html

(3)

Introduzione e motivazioni

„ Cosa si intende per simulazione parallela e distribuita (PADS)

„ Perchè siamo interessati a questo argomento?

„ Simulazioni analitiche e Digital Virtual Environments (DVE)

„ Breve prospettiva storica

„ La simulazione PADS oggi

„ Conclusioni

(4)

Simulazione / Simulazione distribuita

„ Cosa si intende per simulazione:

è la rappresentazione o l’emulazione temporale del

comportamento di un sistema da parte di un altro sistema

„ Con “simulazione distribuita” ci si riferisce alla tecnica utilizzata nell’esecuzione della simulazione: l’esecuzione è affidata ad un insieme di unità di elaborazione (physical execution unit, PEU) interconnesse da una rete di comunicazione

„ La rete di comunicazione può essere di diverso tipo:

„ sistemi multiprocessore a memoria condivisa

„ tightly coupled systems: SMP, HPC

„ workstation interconnesse da una rete

„ loosely coupled systems: LAN, WAN, Internet

(5)

Simulazione parallela o distribuita?

„ Simulazione parallela

„ le unità di elaborazione sono interconnesse da una rete a bassa latenza, eventualmente con memoria condivisa (es. SMP)

„ Simulazione distribuita

„ Le unità di elaborazione sono interconnesse da una rete con latenza rilevante, ordini di grandezza superiori rispetto al caso parallelo. Non è presente alcun tipo di memoria condivisa

„ Sistemi reali

„ I sistemi reali sono spesso caratterizzata da un’architettura mista. Ad esempio un insieme di macchine multiprocessore (SMP) collegate attraverso una rete locale o geografica. Processori Hyper-Threading e Multi-core rappresentano un ulteriore livello di eterogeneità

(6)

Buoni motivi per distribuire una simulazione (1/2)

„ Ridurre il tempo di esecuzione (wall-clock time):

„ N CPU = Tempo_esecuzione_monolitica / N ?

„ Scalabilità

„ mantenere la stessa velocità di esecuzione al crescere della complessità dei modelli simulati (10, 100, 1000… entità)

„ Distribuzione geografica di utenti e risorse

„ non necessariamente tutte le componenti necessarie si trovano contemporaneamente nello stesso luogo

„ tutela della proprietà intellettuale (es. IP nei SystemOnChip)

Magari!

(7)

Buoni motivi per distribuire una simulazione (2/2)

„ Integrazione di piattaforme eterogenee

„ esistono strumenti (simulatori) specializzati che sarebbe bene poter integrare tra di loro (es. wireless, mobilità ecc.)

„ Resistenza ai guasti (fault-tolerance)

„ in alcuni casi è catastrofico interrompere una simulazione

„ Riutilizzo delle componenti e del codice

„ Simulazione distribuita è anche:

„ Digital Virtual Environments (DVE)

„ Internet Gaming

(8)

Simulazione di modelli massivamente popolati

„ Reti wireless (es. 802.11, Bluetooth)

„ il potenziale di crescita e di diffusione è enorme

„ ognuno di noi potrebbe avere più terminali wireless che interagiscono con altri terminali

„ spazi densamente popolati e molto dinamici (es. città)

„ velocità sempre crescenti di comunicazione

„ Come è possibile verificare un sistema di questo tipo, PRIMA, della sua implementazione?

„ Scalabilità dei protocolli MAC (Media Access Control), routing, applicazioni di livello utente

„ Verifica di nuovi protocolli, TCP/IP è adatto al wireless?

(9)

Supporto alle decisioni in real-time

„ In alcuni ambienti (es. traffico aereo) è necessario prendere le decisioni in tempo reale

„ Avere la possibilità di analizzare gli scenari futuri derivanti dalla decisione presa è di enorme interesse

„ A partire da un input esterno si elaborano le possibili evoluzioni dell’ambiente e si verifica che i vincoli di sistema siano mantenuti

„ Tra tutti gli scenari elaborati si valuta quello più vantaggioso e si opera perchè il sistema reale lo segua

„ A volte le decisioni devono essere prese entro qualche secondo:

una simulazione monolitica non è sufficiente

(10)

Digital Virtual Environments (DVE)

„ La creazione di ambienti virtuali è di interesse a vari settori:

„ addestramento

„ militare

„ medico

„ gestione delle emergenze (es. ambientali, coordinamento dei soccorsi, allocazione degli aiuti…)

„ Interazione sociale / Svago

„ “chat”

„ Multi-User Dungeon (MUD), Massively Multiplayer Online Role-Playing Games (MMORPG)

(11)

Digital Virtual Environments (DVE)

„ I DVE sono delle vere e proprie simulazioni, ma al loro interno

tecniche di simulazione sono usate anche per la creazione di entità sintetiche gestite dinamicamente:

„ avversari / compagni di gioco

„ fenomeni fisici

„ traiettorie dei proiettili

„ gestione delle esplosioni

„ effetti sull’ambiente (es. aderenza del fondo stradale rispetto alle condizioni metereologiche)

} Vincolo di causalità

(12)

Simulazione analitica

Possiamo considerarlo come l’approccio “classico” alla simulazione:

nel nostro caso ci occupiamo di simulazione ad eventi discreti

Modelli tipici di simulazione:

„ Reti di comunicazione

„ Trasporti e sistemi di ottimizzazione, logistica

„ Elettronica (microelettronica, sistemi embedded)

Il focus è tipicamente centrato sulla progettazione dei sistemi, sulla valutazione di prestazioni e verifica di funzionamento

(13)

Simulazione analitica vs. DVE

Analitica DVE

Obiettivo tipico analisi quantitativa di sistemi complessi

creare

rappresentazioni realistiche o

divertenti Velocità di

esecuzione quanto più veloce

possibile real-time

Interazione umana

se presente si tratta di un osservatore

esterno

controlla alcune entità

Accuratezza risultati

statisticamente corretti

dipende dalla percezione dei

partecipanti

(14)

Chandy/Misra/Bryant algorithm

Time Warp algorithm

early experimental data

second generation algorithms

making it fast and easy to use

High Performance Computing Community

1975 1980 1985 1990 1995 2000

SIMulator NETworking (SIMNET) (1983-1990)

Distributed Interactive Simulation (DIS) Aggregate Level Simulation Protocol (ALSP)

(1990 - 1997ish)

High Level Architecture (1996 - today)

Defense Community

Adventure (Xerox PARC)

Dungeons and Dragons Board Games

Multi-User Dungeon (MUD)

Games Internet & Gaming Community

Multi-User Video Games

Prospettiva storica

(15)

La simulazione distribuita oggi

„ High Performance Computing Community

„ le tecnologie di middleware si stanno diffondendo, ad esempio lo standard IEEE 1516 High Level Architecture (HLA)

„ analisi ed utilizzo del Grid

„ Sottore difesa

„ addestramento, wargaming, test & valutazione

„ Comunità di Internet Gaming

„ non è il caso di reinventare quanto esiste già

„ tecnologia in fase di adozione

„ sistemi basati su architetture client -> server

„ grossi problemi di scalabilità, prestazioni di gioco, affidabilità

(16)

Conclusioni

„ La simulazione parallela e distribuita è una possibile soluzione per un ampio spettro di problemi e scenari

„ Non solo simulazione analitica ma anche DVE e Internet Gaming

„ È evidente che non ci sono solamente vantaggi ma anche problemi da tenere in considerazione:

„ gestione del tempo. La nozione di tempo in un sistema distribuito.

Rispettare il vincolo di causalità: quanto costa?

„ distribuzione delle informazioni. L’assenza di uno stato condiviso impone tecniche di Data Distribution Management (DDM)

„ load-balancing: come suddividere la simulazione e allocarla su diverse unità di elaborazione?

(17)

Gabriele D’Angelo

gda@cs.unibo.it

http://www.cs.unibo.it/~gdangelo

Dipartimento di Scienze dell’Informazione Università degli Studi di Bologna

Simulazione Parallela e Distribuita

Introduzione e motivazioni

Riferimenti

Documenti correlati

Dopo averne calcolato il determinate, tramite lo sviluppo di Laplace, si dica se tale matrice è invertibile.. Qualora sia possibile, se ne calcoli la

l’esempio più importante è costituito dal reattore a letto fluidizzato, in cui la velocità della fase gassosa in contatto con le particelle di piccole dimensioni è in grado

È difficile fare previsioni sul futuro della pro- gettazione numerica dell’autoveicolo; per esempio, stanno nascendo metodi numerici nuovi, non più vincolati ad una delle tradizio-

A conclusione di tutto il processo di revisione il revisore è tenuto a redigere una relazione in cui inserisce una serie di informazioni ben precise indicate dall’art. Il

- Sono numerosi i player che hanno colto le opportunità derivanti dalla vendita tramite social network, ognuno secondo la propria filosofia, chi ha preferito

Quantile Estimates The unconditional variance and the tail index are useful intermediary concepts to express the risk that is present in currency returns; but in the end what

Obiettivo della Tesi è stato lo studio di un condotto di aspirazione per motore monocilindrico a quattro tempi e del relativo sistema di iniezione, tramite prove di

Si segnala il vettore double Calc di dimensione tre così composto: Calc[0] contiene la potenza media in ingresso all’amplificatore, Calc[1] è la costante che si deve