SIMULAZIONE A.A. 2016/2017

Похожие документы
Sistemi e modelli. Sistemi

Simulazione a eventi discreti

Modulo Simulazione Parte 1. Simulazione ad Eventi Discreti: Concetti Base. Organizzazione del modulo

Simulazione. D.E.I.S. Università di Bologna DEISNet

MODELLISTICA DI IMPIANTI E SISTEMI Syllabus e Testi di Riferimento Prof. Giuseppe Iazeolla

Modelli e Metodi per la Simulazione (MMS)

SIMULAZIONE DISCRETA

La simulazione è l'imitazione di un processo o di un sistema reale per un

Politecnico di Milano Dipartimento di Elettronica e Informazione Introduzione. Laboratorio di Reti di Telecomunicazione

Impianti Informatici

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

GESTIONE DEI MATERIALI CONTROLLO DELLA PRODUZIONE

Processi decisionali e modelli di simulazione

SIMULAZIONE. Prof. Michele Colajanni. Corso di Impianti di Elaborazione Ingegneria Informatica Università di Modena e Reggio Emilia

Modellazione di sistemi ingegneristici (parte 1 di 2)

Matrici di Raven (PM47)

Modelli matematici e Data Mining

Tre esempi di sistemi di congestione. Analisi delle loro simulazioni in linguaggio Simula

Gestione dello sviluppo software Modelli Base

Statistica per le ricerche di mercato

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

Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati

Lezioni di Ricerca Operativa

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

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

Corso di Laurea in Informatica Basi di Dati a.a

CORSO DI LAUREA MAGISTRALE IN GEOLOGIA E TERRITORIO CORSO DI MODELLAZIONE GEOLOGICO- TECNICA ED IDROGEOLOGICA MODELLAZIONE IDROGEOLOGICA (2 CFU)

ERP. Logistica. Produzione. Acquisti. Vendite. Amministrazione. Archivio 2

Statistica per le ricerche di mercato

SISTEMI INFORMATIVI TERRITORIALI DATABASES -LEZIONE 3

Prof. Rossella Cancelliere

Algoritmi e soluzione di problemi

Simulazione dei dati

Scheduling della CPU

Indice generale. Prefazione

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota

LABORATORIO di Reti di Calcolatori

Le basi di dati. Lez. 2: Progettazione di un DB. Laboratorio di informatica gestionale

Programma di CONVERGENZA INTERNAZIONALE E CRESCITA ECONOMICA ANNO ACCADEMICO Prof. CAPOLUPO ROSA

Corso di Laurea Ingegneria Informatica

Progettazione di circuiti integrati

Linee di programmazione

Corso di Ingegneria del Software. Modelli di produzione del software

PROBABILITÀ ELEMENTARE

La programmazione ad oggetti: chiamate di metodi. Overloading. This

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione concettuale

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_3 V2.1. Progettazione. Metodi e Linguaggi

3.1 Classificazione dei fenomeni statistici Questionari e scale di modalità Classificazione delle scale di modalità 17

Materiale didattico. Sommario

Disegni sperimentali

Indice. Prefazione all edizione italiana. Gli Autori e i Curatori dell edizione italiana PARTE PRIMA ASPETTI GENERALI

Problemi, algoritmi, calcolatore

Modelli matematici. La matematica applicata alla vita reale. Progetto Lauree Scientifiche

Programma svolto di Matematica Classe: 5^A MM

Il supporto al sistema operativo

Introduzione ai casi d uso

INFORMATICA PER LE SCIENZE UMANE a.a. 2015/2016

Metodologie e modelli di progetto

14. Verifica e Validazione

LEZIONI IN LABORATORIO Corso di MARKETING L. Baldi Università degli Studi di Milano. Strumenti statistici in Excell

Programmazione e Controllo della Produzione. Introduzione

GESTIONE DELLA MEMORIA CENTRALE

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

MEGA Process Oriented & Risk Driven Solution

Транскрипт:

SIMULAZIONE A.A. 2016/2017 Orario delle Lezioni: Lunedì: 16-18, Aula M1 Mineralogia; Mercoledì: 16-18, Aula Vitali MatemaHca; Venerdì: 13-15, Aula Vitali MatemaHca.

SIMULAZIONE A.A. 2016/2017 Libri di riferimento: -M. Law, W. D. Kelton. Simula5on Modeling and Analysis, McGraw-Hill, 2000; - R. M. Fujimoto.Parallel and Distributed Simula5on Systems, Wiley Interscience, 2000; - Jerry Banks, John S. Carson, II,Barry L. Nelson, David M. Nicol. Discrete-Event System Simula5on, 5/E, Pren5ce Hall, 2010; - L. M. Leemis, S.K. Park Discrete Event Simula5on: A First Course.

SIMULAZIONE A.A. 2016/2017 TesH interessanh: R. Fujimoto, Parallel and Distributed Simula1on, Wiley Interscience, 2000. G. Iazeolla, Principi e Metodi di Simulazione Discreta, Franco Angeli, 2010. Christos G. Cassandras, S. Lafortune, Introduc1on to Discrete Event Systems, Springer, 2006.

Modalita di esame: SIMULAZIONE A.A. 2016/2017 Seminario da concordare con il docente; Assegnazione di proger; Consegna di una relazione; Discussione dei risultah del progeuo.

Modalita di esame: SIMULAZIONE A.A. 2016/2017 Seminario da concordare con il docente; Seminari verranno svolh in aula nel mese di dicembre, date da stabilire; Valutazione: peso pari al 30%.

Modalita di esame: SIMULAZIONE A.A. 2016/2017 Assegnazione di proger; Consegna di una relazione; Discussione dei risultah del progeuo. Valutazione: peso pari al 70%.

!!

SIMULAZIONE A.A. 2016/2017 Menzogna; Inganno; Falsità.

Introduzione Definizione di simulazione: Progettazione e realizzazione di un modello di un sistema in grado di imitare il comportamento del sistema reale; Sistemi dinamici; Imitazione delle operazioni eseguite nel tempo da un sistema o processo reale;

Introduzione Esecuzione di esperimenti sul modello; Analizzare il comportamento del sistema; Studiare e valutare alternative

Introduzione Traffico Aereo Efficenza e sicurezza del sistema di trasporto aereo minimizzare ritardi dei viaggiatori Internet Progetto di nuovi protocolli di comunicazione valutazione costo/prestazioni Sistemi di produzione

Introduzione Simulazione analitica analisi quantitativa del sistema simulato cycle time di un aereo tempo necessario per un file transfer prestazioni di un protocollo analisi di un sistema soft real-time prestazioni di un web servers system affidabilità di un sistema critico

Introduzione Creazione di Ambienti Virtuali interazione tra "umani" e mondo simulato realtà aumentata training interactive games Internet communities

Definizione di Simulazione; Tipi di Simulazione; Vantaggi e limiti della simulazione; Modelli di simulazione; Simulazione discreta; Struttura di uno studio di simulazione

Definizione di simulazione Imitazione delle operazioni eseguite nel tempo da un sistema o processo reale Scopo della simulazione Generazione di una storia artificiale del sistema Studio e valutazione delle caratteristiche del sistema (analisi delle prestazioni) Risposta alla domanda cosa accade se

Scopo della simulazione (continua) Analisi di sistemi ipotetici Confronto tra due o più sistemi Determinare valore ottimale di parametri Determinare i punti critici (bottlenecks) Capacity planning Predire le prestazioni del sistema nel futuro

Possibili alternative per l analisi prestazionale di sistemi: Simulazione Monitor del sistema (benchmark) Analisi

Perché la simulazione? Se il sistema non esiste non posso usare benchmarks Permette valutazioni di sistemi nelle stesse condizioni Permette valutazioni di eventi e condizioni rare o rischiose Permette stime non misurabili su sistemi reali Non introduce overhead o alterazioni delle stime nel sistema (es. benchmark per valutare prestazioni S.O.) Permette una buona accuratezza

Vantaggi della simulazione Test di sistemi prima di investire sulle strutture Possibilità di zoom sul tempo simulato Possibilità di capire le cause di eventi Esplorare nuove politiche di gestione Diagnosi di problemi Identificazione di requisiti Comprensione del sistema

Svantaggi della simulazione Costruzione dei modelli lunga e non banale Interpretazione dei risultati lunga e complessa Vengono in aiuto Simulatori (primitive e strutture dati) Ambienti di simulazione (output data analisys)

Esempio pag 6. Handbook of simulation, J.Banks

Concetti di Modeling Sistemi vs. modelli Variabili di stato del sistema eventi Entità e attributi Risorse Gestione di liste Attività e ritardi Modelli di simulazione a eventi discreti

Sistema da analizzare: una collezione di HW, SW e FW Metrica: criterio usato per la valutazione delle prestazioni del sistema da analizzare Carico di lavoro (workload) Le richieste fatte dagli utenti del sistema

Modello: astrazione o rappresentazione di un sistema reale Analisi del sistema e isolamento delle caratteristiche da includere nel modello Complessità: commisurata alle necessità dell analisi Semplicità: favorisce implementazione corretta e prestazioni del simulatore Fedeltà: fornisce dati realmente descrittivi Approssimazione: trade-off con semplicità Tempo simulato vs. wall-clock time

Variabili di stato del sistema variabili che descrivono lo stato del sistema al tempo (simulato) t, e al livello di definizione sufficiente per l analisi permettono di interrompere e riprendere la simulazione Sono strutture dati del modello

Evento un cambiamento nello stato del sistema avviene al tempo simulato t Evento interno (endogeno) Riguarda variabili interne al modello Es. inizio di un servizio di un job in coda Evento esterno (esogeno) Riguarda variabili esterne al modello Es. arrivo di un nuovo utente in coda

Entità Oggetti esplicitamente definiti nel modello Dinamici (es. clienti) o statici (es. server) Possono competere per ottenere le risorse ed essere accodati nelle corrispondenti code di attesa Attributi Sono valori locali delle entità Es. tempo di arrivo del cliente, velocità di servizio del server

Risorse Sono entità che forniscono servizi passivi o attivi ad entità dinamiche (che possono richiedere una o più unità della risorsa) Le risorse richieste, se occupate, possono determinare un attesa in coda Possono fornire servizi in parallelo (server parallelo)

Attività Periodo di tempo di durata pre-determinata caratterizzato da attività in corso Scheduling di eventi di inizio/fine attività Nella simulazione a eventi discreti (DES) le attività avanzano il tempo simulato t Durata dell attività Caratterizzata da distribuzione statistica Ritardo (delay) Durata indefinita di un attività, legata alle condizioni e all evoluzione del sistema (attesa)

Modelli a tempo continuo/discreto tempo continuo: lo stato del sistema è definito sempre in ogni t tempo discreto: lo stato del sistema è definito in istanti di tempo discreti: t, t +1 Es. numero studenti del Mercoledi

Modelli a stato continuo/discreto continuous-event model: le var. di stato sono continue Es. livello del liquido in un bacino idrico Possono essere approssimati da discrete-event models discrete-event model: le var. di stato sono discrete e cambiano valori in corrispondenza di eventi discreti Es. numero di persone in attesa alla posta

Modello deterministico/probabilistico deterministico: output(input k)= x probabilistico: output(input k)= x1, x2, x3 Modello statico/dinamico statico: lo stato non dipende dal tempo dinamico: lo stato dipende dal tempo

Modello lineare/non lineare lineare: output(x)= k*x non lineare: output(x)!= k*x Modello aperto/chiuso chiuso: nuovi job non entrano o escono dal sistema aperto: source e sink per i job

Modello stabile/instabile stabile: comportamento converge allo stato stazionario instabile: comportamento che cambia continuamente

I possibili modelli del sistema Modello matematico, statistico e di input/ output Descrivono input e output del sistema attraverso relazioni matematiche o statistiche Modello descrittivo Modello di simulazione a eventi discreti Rappresentazione dettagliata della struttura interna del modello

Tipi di simulazione (Emulazione): simulazione che coinvolge componenti del sistema HW e firmware

Tipi di simulazione MonteCarlo simulation: non esiste l asse del tempo serve a modellare fenomeni che non cambiano nel tempo richiede generazione di valori pseudo-casuali es. calcolo di integrali, calcolo di Pigreco, ecc.

Tipi di simulazione Trace-driven simulation: simulazione basata su eventi ordinati per tempo registrati dal sistema reale pro: credibile: non basata su ipotesi e distribuzioni di input semplice validazione nessuna assunzione sul workload e correlazione buona analisi di sensitività minori effetti di randomizzazione (varianza minore) Il confronto tra sistemi è certamente fair

Tipi di simulazione Trace-driven simulation: contro complessità del modello è maggiore (di solito) il trace è riduttivo in termini di rappresentazione dei carichi possibili (soprattutto per sistemi diversi) il trace è lungo e legato alla situazione in cui è registrato occorrono molti trace diversi per motivare e dimostrare i risultati comportamenti transienti devono essere registrati nel trace un trace diverso per ogni workload

Tipi di simulazione Discrete-event simulation (DES) simulazione che usa un modello del sistema a tempo discreto opposto di continuous-event simulation può essere basata su stato continuo o discreto Le variabili di stato cambiano solo in corrispondenza ad eventi discreti, determinati a loro volta da attività e ritardi.

Strutture di modeling Esistono essenzialmente quattro metodologie Interazione tra Processi Scheduling di Eventi Scansione di attività Tre fasi

Simulazione per Interazione tra Processi Il flusso di esecuzione di un processo in esecuzione emula il flusso di un oggetto attraverso il sistema L esecuzione procede finchè il flusso non viene bloccato o entra in una nuova attività Attesa in coda, servizio (ritardo), sink Quando il flusso di un entità viene bloccato, il tempo simulato avanza al tempo di inizio previsto dalla prima successiva entità in esecuzione

Simulazione per scheduling di eventi Si avanza il tempo simulato al tempo dell evento successivo (di solito il termine o l inizio di un attività) Lista ordinata di eventi e scheduler di eventi Il termine di un attività coincide con la nuova allocazione di risorse rilasciate tra le entità in attesa e con lo scheduling di nuove attività causalmente determinate

scheduler di eventi mantiene struttura di lista ordinata per tempo simulato (multi-linked) di eventi futuri (schedulati, cancellati, rinviati, bloccati). Gestisce l avanzamento del tempo simulato event-driven: clock=(tempo del prossimo evento il lista) unit-time: clock= clock+delta... Sono accaduti eventi? Struttura dati Evento=(time, puntatore al codice della routine di evento) La routine di evento aggiorna le var. di stato e la lista di eventi (inserisce, cancella, o rinvia eventi)

routine di inizializzazione: chiamate per prime, definiscono lo stato iniziale del sistema, gli stream pseudo-casuali, ecc. Routine di gestione degli eventi Report generator: procedure che al termine della simulazione generano i dati di stima routine di trace: procedure per notificare eventi o stime a run-time gestione dinamica della memoria e garbage collection

Simulazione per scansione attività due fasi simili alla rule-based programming Condizione ok -> esecuzione azione Esiste un insieme di moduli in attesa di esecuzione Periodicamente si esegue test sulle condizioni che determinano esecuzione di eventi Esecuzione di eventi -> aggiorna variabili di stato

Simulazione: metodologia in tre fasi Fase1: avanzamento del tempo simulato Fase2: rilascio risorse mantenute dalle attività che risultano terminate dopo l avanzamento Fase3: esecuzione attività per le quali siano disponibili le risorse

Pianificare uno studio di simulazione Formulazione del problema Definizione degli obiettivi Astrazione del modello concettuale Raccolta dei dati Traduzione del modello Verifica Validazione Progetto degli esperimenti di simulazione Esecuzione e analisi dei dati: sufficiente accuratezza? Documentazione e presentazione dei dati Implementazione reale del sistema

Formulazione del problema Definire e verificare la corretta e completa formulazione del problema attraverso un dialogo tra cliente e analista Definire le assunzioni delle specifiche e delle definizioni del sistema adottate

Definizione degli obiettivi Preparazione di una proposta Obiettivi: Definire le risposte attese dalla simulazione Definire gli scenari oggetto di indagine Definire i tempi necessari Definire le risorse necessarie Definire i costi Definire le fasi dell analisi

Traduzione del modello Il modello concettuale ottenuto viene codificato in una forma interpretabile dal calcolatore, ottenendo un modello operazionale

Astrazione del modello concettuale Relazioni logiche, matematiche e causali delle componenti e strutture del sistema Metodologia Top-Down Partire dalle cose semplici ed estendere il modello fino a raggiungere il grado di complessità descrittiva necessario Complessità descrittiva non necessaria all analisi aumenta rischio di errori, costi e tempi Coinvolgimento del cliente nella costruzione del modello

Raccolta dei dati Analisi e indagine sui dati che caratterizzano il modello le discipline di accesso e servizio i tempi medi di permanenza, attesa e servizio Le distribuzioni di probabilità

Concetti di Modeling Sistemi vs. modelli Variabili di stato del sistema eventi Entità e attributi Risorse Gestione di liste Attività e ritardi Modelli di simulazione a eventi discreti