Pianificazione di un esperimento di simulazione

Documenti analoghi
Sistema : collezione di componenti (elementi, entità) interdipendenti che interagiscono fra loro in accordo a specifiche predefinite.

il servizio è realizzato valutandone il ritardo introdo0o

Introduzione alla simulazione

Sistemi e modelli. Introduzione alla simulazione. Obbietivi. Motivazioni

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

Introduzione alla Simulazione

PRINCIPI GENERALI. Corso di Tecniche di Simulazione, a.a. 2005/2006. Francesca Mazzia. Dipartimento di Matematica Università di Bari.

Analisi statistica dell output prodotto dalla simulazione

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

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

TECNICHE DI SIMULAZIONE

ESEMPI DI SIMULAZIONE

Modelli e Metodi per la Simulazione (MMS)

Introduzione alla Simulazione. Introduzione alla Simulazione. Aree di applicazione. Introduzione alla Simulazione. Introduzione alla simulazione

Sistemi e modelli. Sistemi

Un nuovo concetto di classe

SIMULAZIONE DISCRETA

5.1 Metodo Branch and Bound

2. Simulazione discreta: approcci alla simulazione

Sistema a singolo servente

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

SIMULAZIONE DI SISTEMI CASUALI 2 parte. Processi stocastici e teoria delle code. Processi stocastici

RETI DI TELECOMUNICAZIONE

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

PROF. ING. UMBERTO CRISALLI Dipartimento di Ingegneria dell Impresa.

2 Simulazione. rappresentare sistemi reali anche complessi tenendo conto anche delle sorgenti di incertezza;

TECNICHE DI SIMULAZIONE

MODELLI STATISTICI, RICHIAMI

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Sistemi Operativi: Concetti generali. Sistemi Operativi: Concetti generali

Analisi Statistisca in Simulazione. Aspetto fondamentale in simulazione, a volte sottovalutato Corrette interpretazione dei risultati

Corso. di FONDAMENTI DI RETI DI TELECOMUNICAZIONI. Martino De Marco

Esercitazioni di Sistemi di commutazione LS

5. Analisi dei dati di input

TECNICHE DI SIMULAZIONE

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Modelli a code d attesa dei sistemi operativi

ISTRUZIONI A B K A, B, K A<B? SI A<B? SI A<B? SI

FONDAMENTI DI SEGNALI E TRASMISSIONE 2 Laboratorio

Pseudo codice. Paolo Bison. Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova. Pseudo codice, Paolo Bison, A.A , p.

Settimana n.2. Obiettivi Esecuzione di un programma. Tutorial su CodeBlocks e ambiente di sviluppo.

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

ESERCIZIO 3 - Scuola Sec. Primo Gr. - SQ Gara 1-17/18 ESERCIZIO 8 - Scuola Sec. Primo grado SQ. Gara 1-16/17

Calcolare lo Span di un array di numeri

i. Diagramma di GANTT relativo all esecuzione dei quattro processi:

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

5. Analisi dei dati di output

La teoria delle code

Rappresentazione con i diagrammi di flusso (Flow - chart)

Introduzione alla simulazione

Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS)

5. Analisi dei dati di output

Reti di Telecomunicazioni. Sistemi a coda

PRINCIPI GENERALI - CONTINUA

Argomenti della lezione. Introduzione agli Algoritmi e alle Strutture Dati. Lista Lineare. Lista Lineare come Tipo di Dato Astratto

Progetto di Calcolo della Probabilità e Statistica Matematica. di Cavenaghi Mattia. matricola

I Fondamenti della Simulazione. Concetto di Sistema. Confronto tra modelli matematici e modelli simulativi Meccanismi i di avanzamento del tempo

1. Classificazione dei sistemi e dei modelli

LABORATORIO DI PROGRAMMAZIONE 2 Corso di laurea in matematica. Algoritmi ricorsivi

Introduzione. Corso di Tecniche di Simulazione, a.a. 2005/2006. Francesca Mazzia. Dipartimento di Matematica Università di Bari.

Reti di Comunicazione e Internet

5.1 Metodo Branch and Bound

Progetto di Reti di Telecomunicazioni M (9 CFU)

Distribuzioni campionarie. Antonello Maruotti

Manualistica 3 Le strutture di controllo

Comunicazione con sincronizzazione estesa

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Capitolo 5 - Silberschatz

Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN

Esercitazione 1. Introduzione agli algoritmi di ordinamento

Sommario. Tecniche di Decomposizione dei Problemi. Algoritmi: Costruzione. Tipi di problemi

IL SISTEMA OPERATIVO

Sistemi operativi. Lez. 9: primitive per la concorrenza i semafori

Politecnico di Milano Sede di Cremona A.A. 2012/13. Corso di RETI DI COMUNICAZIONE E INTERNET (Modulo 1)

Reti di Telecomunicazioni 1

Generazione di numeri random. Distribuzioni uniformi

4.1 ESERCIZI DI RIEPILOGO

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

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

Teoria delle File di Attesa

SCHEDULING DELLA CPU. Obiettivi. » Introduzione allo scheduling della CPU. » Algoritmi di scheduling della CPU

Programmazione Strutturata

Architettura degli Elaboratori, Esercitazione 1

Architetture data-flow

Statistica Metodologica Avanzato Test 1: Concetti base di inferenza

Gestione ed Elaborazione di Grandi Moli di Dati. Scritto 29/08/2006: SOLUZIONI

' $ Teoria del traffico & % 1

Architettura degli Elaboratori

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Sistemi Discreti. Reti di Petri Stocastiche Automi stocastici Code e Reti di Code Algebra di processi

Algoritmi e Strutture Dati

Transcript:

Pianificazione di un esperimento di simulazione Processo di creazione ed uso di un modello. Criteri di scelta della simulazione : appropriatezza del modello e della soluzione costo semplicità di uso 1. Definizione degli obiettivi (formulazione del problema) Acquisizione dati dal sistema reale 2. Definizione del modello di simulazione livello di astrazione, variabili, (esogene / endogene), parametri, relazioni funzionali; complessità adeguatezza 3. Parametrizzazione stima dei parametri e delle caratteristiche operative tecniche statistiche 4. Valutazione del modello : se respinto torna al passo 1 adeguatezza : parametri, caratteristiche operative, generatori di numeri pseudocasuali 5. Formulazione del programma schema di programma scelta del linguaggio di programmazione condizioni iniziali del sistema 6. Convalida del modello di simulazione : comportamento del modello comportamento del sistema se respinto torna al passo 2 o 3. 7. Progetto degli esperimenti 8. Analisi dei risultati scelta del metodo ; tecniche statistiche Sim.2.1

La definizione di un modello di simulazione include : processo stocastico da studiare parametri e caratteristiche operative eventi variabili di stato dipendenti dagli eventi variabili endogene e regole di generazione regole di trasformazione di stato regole di trasformazione delle variabili endogene Il programma di simulazione include la lista degli eventi E={(e 1, t 1 ), (e 2, t 2 ), (e 3, t 3 ),...} t i t i+1, i 1 un meccanismo di manipolazione degli eventi generatori di numeri pseudocasuali routine per l'analisi statistica dei risultati ESEMPIO consideriamo un sistema di elaborazione uniprocessore rappresentato come un sistema di congestione aperto formato da due centri di servizio corrispondenti, rispettivamente, alla CPU e ad una unità periferica CPU 1 DISK I programmi arrivano dall'esterno. Ogni programma (job) richiede un 'servizio' alla CPU (elaborazione di un segmento di programma) ed uno alla periferica (operazioni di I/O) e quindi lascia il sistema Scopo dello studio è la valutazione delle prestazioni del sistema, in termini di analisi statistica del numero di job presenti in ogni componente del sistema e di altri indici, quali il tempo di elaborazione complessiva di un programma, l'utilizzazione del sistema e delle sue componenti. 2 Sim.2.2

Definiamo le variabili di stato, ad un istante t 0 n i (t) numero di job nel centro di servizio i al tempo t a i (t) numero di job arrivati al centro i fino al tempo t u i (t) numero di job serviti dal centro i fino al tempo t s i (t) stato del servente del centro i al tempo t (s i (t)=0 per servente libero, s i (t)=1 occupato) dove n i (t),a i (t),u i (t) 0, i=1,2. Processo stocastico da studiare P(t) = {n 1 (t), n 2 (t), s 1 (t), s 2 (t) t>0} Parametri e caratteristiche operative A distribuzione degli arrivi esterni al centro 1, di media E[t a ], varianza Var[t a ] S i distribuzione del tempo di servizio nel centro i, di media E[t si ], varianza Var[t si ], i=1,2 discipline di servizio ai centri p.es. : arrivi Poissoniani, A=esponenziale di media E[t a ]=10sec tempo di elab. alla CPU S 1 =esponenziale, E[t s1 ]=50 ms tempo di elab. ai dischi S 2 =esponenziale, E[t s2 ]=100 ms discipline di servizio FIFO Eventi (scelta del livello di astrazione del modello) e i : fine servizio al centro i, i=1,2 e 3 : arrivo di un job dall'esterno alla CPU e 4 : fine simulazione Variabili di stato t i : tempo di occorrenza dell'evento e i, 1 i 4 clock : tempo simulato Il modello di simulazione include la lista degli eventi, lista astratta delle coppie (e i, t i ) in ordine cronologico (t i t i+1 ). Considerando un tempo iniziale t=0, associamo ad ogni evento un numero d'ordine di occorrenza h=1,2,... Sim.2.3

p.es. h=1 evento di tipo e 3 arrivo di un job, h=2 evento di tipo e 3 arrivo di un altro job, h=3 evento di tipo e 1 servizio alla CPU, etc. Denotiamo con x(h) il valore della variabile x dopo l'occorrenza dell'h-simo evento. Variabili endogene sequenza di numeri generati secondo la distribuzione A <X 1,X 2,...> sequenza di numeri generati secondo la distribuzione S i <Y 1 i,y2 i,...> regole di generazione: X h = f (X h-1, A) h>1 Y i h = f (Yh-1 i, Si ) h>1, 1 i 2 Regole di trasformazione di stato e delle variabili endogene 1) selezione dell'evento successivo 2) aggiornamento delle variabili di stato 1) selezione dell'evento successivo * avanzamento per eventi: e(h+1) = e (e,t) E, t=min i t i, t>clock(h) clock(h+1) t tempo futuro più vicino al tempo attuale criterio di gestione di eventi simultanei * avanzamento per intervalli fissi: clock(h+1) clock(h) + e(h+1) = e (e,t) E, clock(h)<t clock(h+1) Se non esiste alcun evento e si itera il procedimento di avanzamento del tempo, altrimenti si trattano tutti gli eventi occorsi. 2) aggiornamento delle variabili di stato in base al tipo di evento e i 1 i 4: e i fine servizio al centro i = 1,2 Sim.2.4

n i (h+1) n i (h) - 1 n 1 (h+1) = n 1 (h) se i=2; n 2 (h+1) = n 2 (h)+1 se i=1 a j (h+1) = a j (h) j=1,2, se i=2; j=1 se i=1 a 2 (h+1)= a 2 (h)+1 u i (h+1) u i (h) + 1 u j (h+1) = u j (h) j i s i (h+1) = 1 se n i (h)>1, s i (h+1) = s i (h) altrimenti s j (h+1) = s j (h) j i se i=2; s 2 (h+1) =1 se i=1 clock(h+1) t i t i clock(h+1) +Y i ui(h+1) e 3 : arrivo di un job dall'esterno alla CPU n 1 (h+1) n 1 (h) + 1 n 2 (h+1) = n 2 (h) a 1 (h+1) = a 1 (h) + 1 a 2 (h+1) = a 2 (h) u j (h+1) = u j (h) j=1,2 s 1 (h+1) = 1 s 2 (h+1) = s 2 (h) clock(h+1) t 3 t 3 clock(h+1) +X a1(h+1) e 4 : fine simulazione specifica del calcolo delle statistiche per l'analisi dei risultati e la produzione delle variabili endogene. Le regole di trasformazione per ogni evento includono le istruzioni necessarie per tali analisi statistiche. Variabili endogene: lunghezza di coda al centro i, tempo di risposta, utilizzazione, throughput. Struttura del simulatore per sequenziamento di eventi : lista deli eventi ad ogni evento è associato il tipo (e i, 1 i 4) e il tempo di occorenza Sim.2.5

una routine per ogni tipo di evento che viene attivata quando occorre un evento di quel tipo clock programma di controllo seleziona il prossimo evento nella lista aggiorna il clock trasferisce il controllo alla routine relativa all'evento selezionato La lista degli eventi è accessibile in lettura da tutte le routine, ma in scrittura solo dalla routine di controllo. Per fini statistici, una routine di "osservazione" viene attivata periodicamente (introdurre un evento "osservazione") INIZIO INIZIALIZZAZIONE DEL MODELLO Poni clock=0 Routine di controllo Determina il prossimo evento Aggiorna il clock Passa il controllo alla procedura relativa all'evento selezionato Gestione arrivo Gestione servizio CPU Gestione servizio DISK Routine osserv. Gestione evento FINE SIM. FINE Dichiarazione variabili e strutture dati <variabili di stato> <variabili esogene> <lista eventi> Sim.2.6

<code> <clock> Definizione delle procedure di evento Programma di controllo begin <inizializzazione> <prevedi il primo evento di arrivo> while clock<t 4 do begin <seleziona prossimo evento e con tempo t > <clock t > <esegui la procedura relativa all'evento e> end; <esegui la procedura di fine simulazione> end; Procedura di gestione evento fine servizio CPU (di tipo e 1 ) procedure fine_cpu; begin <esamina lo stato n 1 > if n 1 >0 then begin <occupa il servente> <determina la durata del servizio> <t 1 clock + Y 1 u1(h+1) > end else <servente della CPU diventa libero> end; Struttura del simulatore orientato ad interazioni fra processi : Entità processo Processo utente Processo servente CPU Processo servente Disk Sim.2.7

utente determina il tempo del successivo utente determina il prossimo arrivo poni l'utente in coda alla CPU aspetta il completamento di servizio alla CPU poni l'utente in coda a Disk aspetta il completamento di servizio Disk coda vuota? seleziona l'utente servente i No rimuovi l'utente dalla coda determina il tempo di servizio aspetta il completamento di servizio Sì aspetta un arrivo di utente in coda distruggi le tue strutture dati FINE Sim.2.8