La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Sistemi Real-Time Ing. Rigutini Leonardo Dipartimento di Ingegneria dellinformazione Università di Siena.

Presentazioni simili


Presentazione sul tema: "Sistemi Real-Time Ing. Rigutini Leonardo Dipartimento di Ingegneria dellinformazione Università di Siena."— Transcript della presentazione:

1 Sistemi Real-Time Ing. Rigutini Leonardo Dipartimento di Ingegneria dellinformazione Università di Siena

2 Rigutini Leonardo – Sistemi Real-TimeSlide n° 2 Ambiente Sistema Real-Time Sistema in cui la correttezza non dipende solamente dai valori di output ma anche dal tempo con cui tali risultati sono prodotti REAL TIME significa che il tempo di sistema deve essere sincronizzato con il tempo dellambiente RT System Input x(t) Output y(t+Δt)t t

3 Rigutini Leonardo – Sistemi Real-TimeSlide n° 3 Tipiche applicazioni Real-Time Sistemi militari per la difesa Controllo di impianti nucleari o chimici Robotica Sistemi di gestione scambi ferroviari Sistemi di monitoraggio (aereo, ferroviario …) Sistemi di telecomunicazioni

4 Rigutini Leonardo – Sistemi Real-TimeSlide n° 4 Approccio tradizionale Molte applicazioni RT sono sviluppate con metodi empirici: Programmazione assembler Temporizzazione tramite timer dedicati Controllo attraverso programmazione dei driver Manipolazione delle priorità Svantaggi: Programmazione noiosa e dipendente dalle capacità umane Codice poco leggibile Difficile manutenzione Difficile verifica dei vincoli temporali

5 Rigutini Leonardo – Sistemi Real-TimeSlide n° 5 Progetto di un sistema RT La fase di test, anche se necessaria, non permette una verifica completa del sistema La predicibilità deve essere migliorata a livello di kernel Gestione dei sovraccarichi (Overload handling) Tolleranza ai guasti (Fault-Tolerance) I sistemi critici devono essere progettati con assunzioni pessimistiche (legge di Murphy)

6 Rigutini Leonardo – Sistemi Real-TimeSlide n° 6 Real-Time Veloce Real-Time non è un sistema veloce: La velocità è relativa all ambiente –Es. tartaruga e topolino Essere più veloce è un vantaggio ma non garantisce la correttezza Un sistema RT deve garantire il comportamento temporale di ogni task Un sistema veloce deve minimizzare il tempo di risposta medio di un insieme di task

7 Rigutini Leonardo – Sistemi Real-TimeSlide n° 7 Fondamenti di S.O Stati di un task: Scheduler: READY BLOCKED RUNNING signal preemption dispatching activationtermination wait Scheduler Ready queque New task Task from blocked CPU

8 Rigutini Leonardo – Sistemi Real-TimeSlide n° 8 Schedule Uno schedule è una particolare assegnazione di task al processore: sia Γ={τ 1, τ 2, …, τ n } linsieme dei task, uno schedule è un mapping σ : R + N tale che t R +, t 1,t 2 : t [t 1,t 2 ) e t [t 1,t 2 ): σ(t)= σ(t) σ(t)= K>0 se τ n è in esecuzione 0 altrimenti t1t1 t2t2 t3t3 t4t4 idle τ1τ1 τ2τ2 τ3τ3 τ2τ2 t5t5 preemption

9 Rigutini Leonardo – Sistemi Real-TimeSlide n° 9 Real-Time Task CiCi DiDi riri sisi fifi didi r i request time (arrival time a i ) s i start time C i tempo di esecuzione nel caso peggiore (wcet) τiτi c i (t) riri sisi fifi didi τiτi d i absolute deadline D i relative deadline f i finishing time slack t L i = f i – d i Margine Max(0,L i )Ritardo c i (t) Residual wcet c i (r i )=C i d i – t – c i (t)laxity o slack

10 Rigutini Leonardo – Sistemi Real-TimeSlide n° 10 HARD e SOFT task HARD task Mancare la deadline può causare effetti catastrofici –Acquisizione di dati da sensori –Controllo a basso livello SOFT task Mancare la deadline causa solamente un degrado di prestazioni –Visualizzazione di messaggi –Interpretazione di comandi utente Un sistema capace di gestire HARD task è detto hard real-time

11 Rigutini Leonardo – Sistemi Real-TimeSlide n° 11 Modi di attivazione Time Driven (task periodici) Il task è attivato automaticamente dal kernel ad intervalli regolari Event Driven (task aperiodici) Il task è attivato al verificarsi di un evento o attraverso una esplicita invocazione della primitiva di attivazione Aperiodico: Sporadico:

12 Rigutini Leonardo – Sistemi Real-TimeSlide n° 12 Vincoli Temporali –Es. Attivazione, completamento, … –Possono essere: Espliciti – inclusi nelle specifiche Impliciti – derivano da specifiche che sembrano non temporali (es. spazio di frenata dipende dalla velocità) Precedenza –Impongono un ordine nellesecuzione dei task Risorse –Forzano una sincronizzazione negli accessi a risorse mutuamente esclusive

13 Rigutini Leonardo – Sistemi Real-TimeSlide n° 13 Anomalie di scheduling -1 3 processori 4 processori Task più brevi: Aumento del numero di processori:

14 Rigutini Leonardo – Sistemi Real-TimeSlide n° 14 Anomalie di scheduling -2 Processore 2 volte più veloce: Rimuovendo i vincoli di precedenza:

15 Rigutini Leonardo – Sistemi Real-TimeSlide n° 15 Scheduling Uno schedule è detto ammissibile se ogni task termina rispettando un insieme di vincoli Uno scheduling può essere: Preemptive / Non Preemptive –Possibilità di sospensione di un task Statico / Dinamico –Decisioni prese in base a parametri fissi / variabili con il tempo On line / Off Line –Decisioni prese prima dellattivazione del task / a run time Best Effort / Ottimo –Fa del suo meglio per trovare uno scheduling ammissibile / trova sempre uno scheduling se ne esiste uno

16 Rigutini Leonardo – Sistemi Real-TimeSlide n° 16 Scheduling classici FCFS (First Come First Served) –CPU assegnata in base ai tempi di arrivo –Non Preemptive, Dinamico, OnLine, BestEffort –Altamente impredicibile SJF (Shortest Job First) –CPU assegnata al task con C minore –Non preemptive o preemptive, statico (C i fissati), on-line od off-line –Minimizza il tempo di risposta medio PS (Priority scheduling) –Viene eseguito il task con P maggiore –Preemptive,Statico o Dinamico, on-line –Problema: starvation soluzione: aging RR (Round Robin) –FCFS con time sharing –Ogni task ha a disposizione un lasso di tempo Q, altrimenti viene sospeso e riattivato nQ dopo –Ogni task viene eseguito come se fosse su un processore n volte più lento

17 Rigutini Leonardo – Sistemi Real-TimeSlide n° 17 Scheduling Real-Time: Task Aperiodici Per semplicità non consideriamo i vincoli di precedenza I task possono essere schedulati in base: Deadline relativa (D i ) Earliest Due Date (EDD) –Statico (D i fissati) –Preemptive o meno –Tutti i task arrivano simultaneamente –Minimizza il massimo margine (L max ) Deadline assoluta (d i ) Earliest Deadline First (EDF) –Dinamico (d i dipende dal tempo di arrivo) –Preemptive –Task possono arrivare in qualsiasi istante –Minimizza il massimo margine (L max )

18 Rigutini Leonardo – Sistemi Real-TimeSlide n° 18 Earliest Due Date (EDD) Seleziona il task con la deadline relativa (D i ) minore Minimizza il massimo margine (L max ) Test di garanzia off-line (istante di arrivo noto): If L max <0 then nessun task manca la sua deadline i k=0..i C k D i

19 Rigutini Leonardo – Sistemi Real-TimeSlide n° 19 Earliest Deadline First (EDF) Seleziona il task con la deadline assoluta (d i ) minore [Horn 74] Minimizza il massimo margine (L max ) Test di garanzia on-line (i task possono arrivare in qualsiasi istante): Es. i f i = k=0..i c k (t) d i - t t Notare che f i = f i-1 + c i (t)

20 Rigutini Leonardo – Sistemi Real-TimeSlide n° 20 Scheduling Real-Time: Task Periodici Per ogni task periodico garantire: ogni job ik sia attivato allistante r ik =(K-1)T i ogni job ik termini entro d ik = r ik + D i Due tassonomie di algoritmi: Timeline scheduling –Utilizzato per 30 anni in tutti i sistemi RT (militare, navigazione, …) –Asse dei tempi suddivisa in intervalli allocati staticamente ai vari task Priority Scheduling –Priorità assegnate in base ai vincoli temporali di ogni task –Vari tipi di algoritmi a seconda del modo di fissare le priorità Task Periodico:

21 Rigutini Leonardo – Sistemi Real-TimeSlide n° 21 Timeline Scheduling Deadline relativa uguale al periodo: Di = Ti Vantaggi: 1.Implementazione semplice 2.Basso overhead Svantaggi: 1.Poco robusto durante sovraccarichi: cosa fare se un task sfora la deadline? –Lasciare finire il task effetto domino –Abortire il task pericolo di stati inconsistenti 2.Bassa espandibilità –Modifica di uno o più task riprogettare tutto, compreso T e 3.Difficile da gestire la presenza di task aperiodici Vincoli: C a + C b Δ C a + C c Δ

22 Rigutini Leonardo – Sistemi Real-TimeSlide n° 22 Priority Scheduling: Rate Monotonic (RM) Priorità inversamente proporzionale alla frequenza del task [Liu e Layland 73] Deadline relativa uguale al periodo: Di = Ti Fattibilità: Ogni task utilizza la CPU per una frazione di tempo pari a: Quindi lutizzazione del processore è: Se U p > 1 il processore è sovraccaricato T non schedulabile Ci sono casi di non schedulabilità anche con U p < 1 Es. U p misura il carico del processore

23 Rigutini Leonardo – Sistemi Real-TimeSlide n° 23 Utilization Upper Bound LUtilization Upper Bound U ub dipende dallinsieme dei task: Nel 1973 Liu e Layland provarono che per un insieme di n task periodici: U p = 3/6 + 3/9 = U p = 2/4 + 4/8 = 1 se U p U lub certamente schedulabile se U lub U p 1 non possiamo dire niente U lub = Least Upper Bound

24 Rigutini Leonardo – Sistemi Real-TimeSlide n° 24 Priority Scheduling: Earliest Deadline First (EDF) Deadline relativa uguale al periodo: Di = Ti Ogni task riceve una assoluta deadline d i,k =r i,k + D i con r i,k = r i,1 + (k-1)T i Il processore è assegnato al task con d i,k minore Utilizzo del processore fino al 100% Schedulabilità: Nel 1973 Liu e Layland provarono che per un set di n task periodici Un insieme di task è schedulabile EDF se e solo se U p 1

25 Rigutini Leonardo – Sistemi Real-TimeSlide n° 25 RM vs EDF RM: Semplice da implementare su S.O. commerciali Più predicibile durante i sovraccarichi EDF Più efficiente Riduzione dei content switch

26 Rigutini Leonardo – Sistemi Real-TimeSlide n° 26 Task Periodici con D < T 1.Deadline Monotonic (DM) Priorità inversamente proporsionale a D p i 1/D i 2.Earliest Deadline First (EDF) Priorità inversamente proporsionale a d p i 1/d i

27 Rigutini Leonardo – Sistemi Real-TimeSlide n° 27 Task Aperiodici + Task Periodici Scheduling globale periodico Si utilizza un task periodico (server) che gestisce i task aperiodici Servers: Priorità dinamica: Dynamic Polling server (DPS) Dynamic Deferrable server (DDS) Priorità fissa: Polling server (PS) Deferrable server (DS)

28 Rigutini Leonardo – Sistemi Real-TimeSlide n° 28 Sommario Argomenti trattati in questo seminario: 1.Introduzione ai S.O. 2.Scheduling RT di Task Aperiodici 3.Scheduling RT di Task Periodici 4.Task Aperiodici + Task Periodici


Scaricare ppt "Sistemi Real-Time Ing. Rigutini Leonardo Dipartimento di Ingegneria dellinformazione Università di Siena."

Presentazioni simili


Annunci Google