Schedulazione real-time di task PERIODICI

Documenti analoghi
Cenni di schedulazione in tempo reale. E.Mumolo

Sistemi real-time correttezza di funzionamento consistenza logica tempestività di produzione deadline

Scheduling della CPU

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

Politecnico di Milano Facoltà di Ingegneria dell Informazione Informatica Industriale Appello COGNOME E NOME. 2 luglio 2009 RIGA COLONNA MATRICOLA

Algoritmi di scheduling - Parte 3

Principi di Schedulazione in tempo reale

Algoritmi di scheduling - Parte 2

TECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni

Scheduling della CPU

Macchine parallele M 1 M 2 M 3 J 1 J 2 LAVORI J 3 J 4

Sistemi in tempo reale: applicazioni alla robotica. Sistemi in tempo reale: applicazioni alla robotica p.1/15

Algoritmi greedy. Progettazione di Algoritmi a.a Matricole congrue a 1 Docente: Annalisa De Bonis

Scheduling della CPU. Capitolo 6 - Silberschatz

Sistemi Operativi. La gestione delle risorse

carattere a b c d e f cod. var

Lo scheduling. Tipici schedulatori

SCIENTIFICO COMUNICAZIONE OPZIONE SPORTIVA PROBLEMA 2. Figura 1

Riassunto di Sistemi in Tempo Reale LS

Scheduling. Scheduling 14/12/2003 1/7

Politecnico di Milano Facoltà di Ingegneria dell Automazione INFORMATICA INDUSTRIALE Appello COGNOME E NOME. 28 febbraio 2008 RIGA COLONNA MATRICOLA

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

Programmazione dinamica

TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati

RTAI e scheduling. Andrea Sambi

Sistemi Operativi (modulo di Informatica II) Schedulazione della CPU

ANALISI 1 - Teoremi e dimostrazioni vari

Sistemi Real-Time Ing. Rigutini Leonardo

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO:

Algoritmi di scheduling

Scheduling della CPU:

Ricerca Operativa A.A. 2007/ Analisi di sensitività

Marco Cesati Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata

Calcolare x n = x x x (n volte)

SCHEDULING SCHEDULING

Il Metodo di Newton, o delle Tangenti Federico Lastaria, Analisi e Geometria 1. Politecnico di Milano Corso di Analisi e Geometria 1

Appunti lezione Capitolo 14 Greedy

Def. La lunghezza media L(C) di un codice C per una v.c. Obiettivo: Codice ottimo rispetto alla lunghezza media. Lunghezza media di un codice

1 Il polinomio minimo.

Schedulazione in RTAI

Corso di Geometria BIAR, BSIR Esercizi 2: soluzioni

Scheduling di processi HRT

vuol dire che preso M > 0 sufficientemente grande, esiste δ = δ(m) > 0 tale per cui x 1 > M lim

Sistemi Operativi (modulo di Informatica II) Schedulazione della CPU

Appunti di Sistemi Operativi. Enzo Mumolo address web address :

Tesina per l esame di Sistemi Operativi a cura di Giuseppe Montano. Prof. Aldo Franco Dragoni

CORSO DI ANALISI MATEMATICA 2 SOLUZIONI ESERCIZI PROPOSTI 15/04/2013

Un esempio di calcolo di complessità: insertion sort

Istituzioni di Matematiche, Integrali fratti. corso di laurea in Scienze geologiche. Mauro Costantini

Concentriamo la nostra attenzione sull insieme dei numeri razionali Q. In Q sono definite

Introduzione soft alla matematica per l economia e la finanza. Marta Cardin, Paola Ferretti, Stefania Funari

Multiprogrammazione. Sistemi Operativi Giuseppe Prencipe. Scheduling dei processi Scheduling. Sequenza di CPU e I/O burst.

Scheduling della CPU. Lo scheduling Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

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

Dimostrazione. Indichiamo con α e β (finiti o infiniti) gli estremi dell intervallo I. Poniamo

Valutazione delle prestazioni

Valutazione delle prestazioni. Valutazione delle prestazioni. Tempo di risposta e throughput. Prestazioni e tempo di esecuzione

Formulazione dell equazione del moto. Prof. Adolfo Santini - Dinamica delle Strutture 1

1) D0MINIO. x x 4x + 3 Determinare il dominio della funzione f (x) = x Deve essere

DEDUZIONE DEL TEOREMA DELL'ENERGIA CINETICA DELL EQUAZIONE SIMBOLICA DELLA DINAMICA

Viceversa stabilito il flusso dei pagamenti/incassi se esiste un unico tasso t per cui

Criteri di Scelta Finanziaria

623 = , 413 = , 210 = , 203 =

Operations Management

LOGARITMI. log = = con >0, 1; >0 = >0, 1, >0. log =1 >0, 1. notebookitalia.altervista.org

Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33

Osservazione 1.1 Si verifica facilmente che esiste un unica relazione d ordine totale su Q che lo renda un campo ordinato.

Prove scritte di Analisi I - Informatica

Sistemi Informatici Appello 23 febbraio 2015

Figura 1: 1) Si scriva la formulazione del problema come problema di PLI (con un numero minimo di vincoli) e la matrice dei vincoli.

Massimo limite e minimo limite di una funzione

Differenze divise. Polinomio di interpolazione nella forma di Newton. Proprietà. Se n=0. Simmetria. Ricorsività. Abbiamo un solo punto

Informatica II Sistemi Operativi DIGIP - a.a. 2015/16

2.2 Alberi di supporto di costo ottimo

ESPONENZIALI E LOGARITMI. chiameremo logaritmica (e si legge il logaritmo in base a di c è uguale a b ).

La dualità nella Programmazione Lineare

Lunghezza media. Teorema Codice D-ario prefisso per v.c. X soddisfa. L H D (X). Uguaglianza vale sse D l i. = p i. . p.1/27

FUNZIONI. y Y. Def. L insieme Y è detto codominio di f. Es. Siano X = R, Y = R e f : x y = 1 x associo il suo inverso). (ad un numero reale

FUNZIONI. y Y. Def. L insieme Y è detto codominio di f. Es. Siano X = R, Y = R e f : x y = 1 x associo il suo inverso). (ad un numero reale

Proporzioni tra grandezze

1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione

Risoluzione di sistemi lineari sparsi e di grandi dimensioni

Corso di Matematica per la Chimica

Corso di Geometria BIAR, BSIR Esercizi 10: soluzioni

Collegio di Merito Bernardo Clesio Università di Trento

1 Polinomio di Taylor 1. 2 Formula di Taylor 2. 3 Alcuni sviluppi notevoli 2. 4 Uso della formula di Taylor nel calcolo dei limiti 4

Analisi Matematica 1+2

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.

Scheduling della CPU

IL TEOREMA DEGLI ZERI Una dimostrazione di Ezio Fornero

Proprietà strutturali: Controllabilità e Osservabilità

Integrazione delle equazioni del moto

Low Power Scheduling per Sistemi Real Time

Elezione di un leader in una rete ad anello

Laboratorio di Calcolo B 68

Complementi ed Esercizi di Informatica Teorica II

Derivata di una funzione

Lezione 16. Esercizio 2 (paginazione( di windows) di Linux) 1: soluzione. Esercitazione finale. 10 page faults 5 soft faults

Proprietà strutturali e leggi di controllo

Scheduling della CPU

Transcript:

Schedulazione real-time di task PERIODICI Sono la maggioranza delle attività di elaborazione. Es. regolazione, acquisizione, filtraggio, monitoraggio, comando di attuatori etc. Ipotesi: Tutte le richieste di esecuzione sono inoltrate ad intervalli regolari ( periodo ) Il tempo di eseuzione di un task è costante La deadline coincide con la fine del periodo corrente Tutti i task sono indipendenti Quindi, un processo periodico è caratterizzato da due parametri: Periodo T i Tempo di esecuzione C i

Schedulazione di task periodici Ulteriori definizioni: Istante di richiesta: istante in cui una istanza periodica diventa pronta per l esecuzione Frequenza di richiesta: inverso del periodo di un task Tempo di risposta: tempo che intercorre tra istante di richiesta e istante di completamento Istante critico: istante di richiesta che genera il più lungo tempo di risposta Zona critica: intervallo tra istante critico e istante di completamento dell istanza. Equivale al tempo di risposta più lungo.

Schedulazione di task periodici Fattore di utilizzazione del processore U è la frazione di tempo utilizzata dalla CPU per eseguire l insieme di task (è una misura della occupazione del tempo di CPU per ( periodici eseguire un insieme di task In un insieme di n task: Il processore è completamente utilizzato dall insieme di task se un piccolo aumento di un C i rende la schedulazione non fattibile Limite superiore minimo U lsm del fattore di utilizzazione: minimo tra i fattori di utilizzazione calcolati su tutti gli insiemi di task che utilizzano completamente il processore. Parametro caratteristico di scheduling. è il carico massimo gestibile da un algoritmo di schedulazione.

Schedulazione di task periodici Se un insieme di task periodici ha un fattore di utilizzazione del processore U minore di U lsm l insieme di task è sicuramente schedulabile Se un insieme di task periodici ha un fattore di utilizzazione del processore U maggiore o uguale a U lsm l insieme di task potrebbe essere schedulabile Zona di schedulabilità per qualsiasi insieme U lsm1 U lsm2 U lsm3 U lsm4 U lsm U lsm1

Schedulazione di task periodici Teorema di schedulabilità generale Condizione sufficiente per la schedulabilità di un insieme di task ( A ) periodici con un algoritmo A è U U lsm Dim. Direttamente dalla definizione di U lsm Teorema della non schedulabilità Condizione sufficiente per la non schedulabilità è U > 1. Dim. Sia T=T 1 T 2 T n = T i. Se U>1 UT>T. Quindi: Σ (T/T i )C i > T La quantità (T/T i ) rappresenta il nr. di volte che il task τ i viene eseguito in T, mentre (T/T i )C i rappresenta il tempo di calcolo richiesto dal task τ i nel tempo T. Quindi la domanda totale in [0,T] è superiore al tempo disponibile T, quindi la schedulazione non è fattibile con nessun algoritmo.

Schedulazione di task periodici Analisi del tempo di risposta per valutare la schedulabilità: Valutazione del tempo di risposta nel caso peggiore, R, e controllo della deadline: R D Valutazione del tempo di risposta nel caso peggiore: è dato dal tempo di calcolo più interferenze dei task a più alta priorità: Durante R i, ogni task a più alta priorità esegue volte L interferenza totale è data da Quindi il tempo di risposta nel caso peggiore R i può essere descritto con dove la sommatoria è estesa a tutti i task di priorità maggiore del task i

Schedulazione di task periodici La soluzione della equazione dove hp(i) è l insieme dei task a priorità maggiore di i, è ottenuta per ricorrenza: Solve by forming a recurrence relationship: Quando la ricorrenza converge, cioè i valori restano costanti, si ottiene il termine R i

Schedulazione di task periodici a priorità fissa Priorità stabilite a priori Come stabilire le priorità dei task? Sulla base dei tempi di esecuzione Priorità maggiore ai task con maggiore/minore tempo di esecuzione Sulla base dei periodi Priorità maggiore ai task con maggiore/minore periodo di esecuzione Sulla base della utilizzazione Priorità maggiore ai task con maggiore/minore coefficiente di utilizzazione Sulla base delle deadline Priorità maggiore ai task con maggiore/minore tempo di deadline

Schedulazione di task periodici a priorità fissa: Rate Monotonic Supponiamo di ordinare i task secondo periodi crescenti Algoritmo Rate Monotonic: assegna ad ogni processo una priorità direttamente proporzionale alla propria frequenza di richiesta (task ( elevata con periodo breve priorità ( SPF ) Chiamato anche Shortest Period First Pre-emptive, statico Proprietà: RM è ottimo, nel senso che se un insieme di task NON è schedulabile con RM, allora non è schedulabile con nessun altra regola di assegnazione a priorità fisse

Schedulazione di task periodici a priorità fissa: Rate Monotonic Altro esempio:

Schedulazione di task periodici: Rate Monotonic Teorema della ottimalità di RM Se un insieme di task periodici NON è schedulabile con RM, allora non esiste un algoritmo di schedulazione a priorità fissa per quell insieme di task. Dim. Si afferma che: se un insieme di task non è schedulabile con RM non esiste altra schedulazione. Cioè: se esiste una schedulazione è schedulabile con RM. Supponiamo di avere due task periodici τ1 e τ2, con T1<T2. Secondo RM, dovrebbe essere schedulato prima τ1 e poi τ2. Prendiamo una schedulazione non RM, cioè facciamo prima τ2 poi τ1. Affinché sia fattibile: (1) C1+C2 <= T1

Schedulazione di task periodici: Rate Monotonic Supponiamo ora di usare RM. Ci sono due possibili casi: ( a Caso τ1 Δ=T2-F. T1 Cioè tutte le richieste di t1 vengono completate entro T2. Cioè C1<=Δ Affinchè RM sia fattibile, deve essere Mostriamo che, se vale (1), allora RM è fattibile. Moltiplicando (1) per F: τ2 CVD

Schedulazione di task periodici: Rate Monotonic Caso b) L ultima esecuzione di τ1 si sovrappone con τ2. Cioè: In questo caso, RM è fattibile se: CVD

Calcolo di U lsm per RM Consideriamo due processi periodici τ 1 e τ 2 con tempi di esecuzione C 1 e C 2 e periodi tali che T1 < T2. L algoritmo RM assegna a τ 2 la priorità maggiore. Def: F è il numero di periodi completi di t1 all interno di T2. Aumentiamo il tempo di esecuzione C 2 fino a che sia possibile schedulare. Consideriamo i casi di prima, a) e b): ( a Caso T2-T1F In questo caso, e il max valore ammissibile di C2 è Allora, il fattore di utilizzazione è: Dato che [.] è negativa, il minimo valore di U di ha per

Calcolo di U lsm per RM Caso b) T2-T1F In questo caso Quindi il max valore ammissibile per C2 è Il fattore di utilzzazione è in questo caso: In questo caso la quantità tra parentesi [.] è positiva e U descresce al diminuire di C1. Il minimo di U si ha per il minimo di C1, cioè

Calcolo di U lsm per RM Qual è il valore minimo di U? Prendiamo il caso a). Sostituendo nella espressione di U: Chiamando per semplicità a=t2/t1 si scrive: Questa funzione tende a per a 0, e per a. In mezzo raggiunge un minimo. Il minimo si può valutare con du/da=0 cioè 1- F(1+F)/a 2 =0 cioè Il valore di U nel punto di minimo è:

Calcolo di U lsm per RM Ricordiamo che cioè F è un numero intero: 1, 2, 3 perché T2>T1 U è crescente con F. Il minimo di F corrisponde al minimo di U, U lsm, e vale ( 1 1/2 2(2 = lsm U Si dimostra che la stessa relazione vale per numero di task maggiore di 2. Cioè il limite superiore minimo del fattore di utilizzazione del processore per la schedulazione Rate Monotonic vale, in generale per n task: ( 1 1/n U lsm = n(2 Il valore decresce con n: per n=2 U lsm = 0.83 per n=3 U lsm = 0.78 per n=4 U lsm = 0.76 Per n tendente a l espressione converge verso 0.69

Calcolo di U lsm per RM

( EDF ) Earliest Deadline First ( ordinata Uno dei più usati, Complessità O(n) (lista Si seleziona dalla lista dei processi pronti quello la cui deadline è più imminente Pre-emptive: se arriva un task con deadline minore sospensione ( vicina Utilizzabile nei SO a base prioritaria (priorità alta=deadline ( velocizzare ) La coda dei processi pronti ordinata Teorema di schedulabilità: Condizione necessaria e sufficiente per la schedulabilità è ΣC i /T i 1 U lsm =1 Esempio: C i T i τ 1 1 5 τ 2 2 7 τ 3 4 9 U=1/5+2/7+4/9=0.93

( EDF ) Earliest Deadline First Semplice dimostrazione della schedulabilità: Condizione necessaria e sufficiente per la schedulabilità è ΣC i /T i 1 Necessarietà: schedulabilità ΣC i /T i 1 Per assurdo: supponiamo che sched U > 1. Per il teorema della non schedulabilità si ha che se U>1 allora è non schedulabile. Questo contraddice l ipotesi. Sufficienza: ΣC i /T i 1 schedulabilità Per assurdo: suffoniamo che ΣC i /T i 1 NON schedulabile. Se è Non schedulabile si può dimostrare che U > 1 cosa che contraddice l ipotesi.

Esempio Si considerino i seguenti 3 task periodici: C T τ1 2 4 τ2 2 5 τ3 2 6 Calcolo di U: U=2/4+2/5+2/6=1,23 EDF I task non sono schedulabili τ1 τ2 τ3 0 5 10? τ1 RM τ2 τ3? 0 5 10

(. cont ) Esempio Facendo riferimento all esempio della slide precedente: C T t1 2 4 t2 2 5 t3 2 6 Vogliamo qui calcolare i tempi massimi di risposta usando la ricorrenza Per RM le priorità decrescono da t1 a t3. Risulta quindi che t1 non può essere interrotto da nessun task, t2 può essere interrotto da t1 e t3 può essere interrotto da t1 e t2. Quindi (senza fare tutti i conti): w 1 =C 1 =2<d 1 =T1=4 w 0 2 =C 2 =2; w1 2 = C 2 + ceil(w0 2 /T 1 ) C 1 = 4; w 1 3 =4 < d2=t 2 =5 w 0 3 =C 3 =2; w1 3 = C 3 + ceil(w0 3 /T 1 ) C 1 +ceil(w0 3 /T 2 ) C 2 =6; w 2 3 =10; w3 3 =12; w4 3 =14; w 5 3 =16; w6 3 =18; w7 3 =20; w7 3 =20 che non è minore di d3!!

Esempio 1 Verificare la schedulabilità dei seguenti due task periodici con Rate Monotonic: 1 o : calcolo del coefficiente di utilizzazione: 2 o : calcolo del limite superiore: Risposta: i due task periodici sono schedulabili con Rate Monotonic:

Esempio 2 Verificare la schedulabilità con RM dei seguenti tre task periodici: Calcolo del coeff. di utilizzazione CPU e limite superiore: I task periodici potrebbero essere schedulabili. Analisi del tempo di risposta nel caso peggiore:

Esempio 2 - cont Analisi del tempo di risposta nel caso peggiore: L insieme di task è schedulabile con RM!

Esempio 3 Verificare la schedulabilità con RM dei seguenti task periodici: Calcolo della utilizzazione del processore e del limite superiore L insieme di task non è schedulabile con RM

Esempio 4 Verificare la schedulabilità con EDF dei seguenti task periodici: ( Di=Ti ) Test di schedulabilità: L insieme dei task è schedulabile con EDF

Schedulazione: Esempio 4 - cont

Deadline Monotonic Estensione del RM: schedulazione di processi periodici con deadline indipendenti dal periodo Parametri: C i = tempo massimo di esecuzione T i = periodo D i = deadline relativa all istante della richiesta T i C i d i D i = d i r i C i <= D i <= T i D i Algoritmo: Viene schedulato il processo con la deadline relativa più corta Nei sistemi a base prioritaria, P i = 1/D i Test di schedulabilità ( condizione sufficiente):

RM vs EDF: Ottimalità Rate Monotonic è ottimo per gli algoritmi a priorità fissa: priorità inversamente proporzionale al periodo EDF è ottimo per gli algoritmi a priorità dinamica: priorità inversamente proporzionale alla deadline Tutti i task schedulabili con RM sono anche schedulabili con EDF Ma: per n-> inf. RM può schedulare sicuramente con una occupazione massima di 0.69 Mentre EDF può schedulare anche con una occupazione al 100%

RM vs EDF: Overhead Overhead di Calcolo EDF deve ricalcolare le priorità ad ogni arrivo RM calcola le priorità una sola volta Overhead di Context-switch Dovuto alla pre-emption EDF deve fare molte interruzioni per rispettare le priorità Esempio di due task periodici τ(c, p): τ 1 (2,5), τ 2 (4,7) U=0.97 RM t2 t3 0 5 10 Deadline mancata! 15 EDF t2 t3 0 5 10

RM vs EDF: Overhead Numero di interruzioni: risultati di simulazione Valori medi, 1000 simulazioni, periodi random da 10 a 100, U=0.9 Per pochi task, il num di interruzioni cresce Per molti task, la durata scende (U=0.9!) e quindi scende il numero di interr. Numero di interruzioni Numero di task