Esercizio - Rate monotonic ed EDF su due compiti periodici (slide di scheduling)
In questa pagina 3
Testo (esempi delle slide di scheduling del corso di Sistemi Operativi, Ing. Informatica UniPD). Due compiti periodici con scadenza uguale al periodo.
- Caso 1: con , ; con , . Il carico complessivo (75%) è sostenibile? Si confrontino le assegnazioni di priorità fissa e Rate Monotonic.
- Caso 2: con , ; con , . Si verifichi la schedulabilità con Rate Monotonic e con EDF.
Caso 1
Utilizzo: .
Priorità . esegue 0 .. 35, poi 35 .. 55: ma la scadenza della prima istanza di è 50: persa. Il 75% non basta se la priorità è sbagliata.
Rate Monotonic (, periodo più breve, priorità più alta):
| t | 0 .. 20 | 20 .. 50 | 50 .. 70 | 70 .. 75 |
|---|---|---|---|---|
| CPU | (30 unità) | (2ª istanza) | (5 unità finali) |
- finisce a 20 ; seconda istanza rilasciata a 50, finisce a 70 ;
- parte a 20, a 50 è prelazionato (ha fatto 30 su 35), riprende a 70 e finisce a 75 .
Entrambe le scadenze sono rispettate. Conferma dal limite: per il limite di RMS è e .
Caso 2
Utilizzo , oltre il limite RMS 0,828.
RMS ( ha priorità, ):
| t | 0 .. 25 | 25 .. 50 | 50 .. 75 | 75 .. 85 |
|---|---|---|---|---|
| CPU | (25 di 35) | (2ª istanza) | (ultime 10) |
finisce a 85, ma la sua scadenza è 80: scadenza mancata. (Il limite è solo sufficiente: oltre di esso non si può garantire, e qui avviene davvero.)
EDF (priorità alla scadenza assoluta più vicina):
| t | 0 .. 25 | 25 .. 60 | 60 .. 85 | 85 .. 100 | 100 .. 125 | 125 .. 145 | 145 .. 150 | 150 .. 160 |
|---|---|---|---|---|---|---|---|---|
| CPU | (scad. 50) | (scad. 80) | (2ª, scad. 100) | (2ª, scad. 160) | (3ª, scad. 150) | (2ª, resto) | vuota | (4ª) |
- a arriva la 2ª istanza di (scadenza 100) ma ha scadenza 80: nessuna prelazione, finisce a 60;
- a resta solo (scad. 100), finisce a 85;
- a è rilasciata la 2ª istanza di (scadenza 160); a 85 è l'unico pronto: esegue fino a 100 (15 unità);
- a la 3ª istanza di (scadenza 150) ha scadenza minore di quella di (160) e prelaziona; finisce a 125; riprende e finisce a 145 .
Tutte le scadenze sono rispettate: EDF funziona perché (RMS richiede per garantire).
I tracciati sono stati confermati con una simulazione in Python sull'iperperiodo.
Domande d'esame
Con per due compiti, RMS è garantito? E EDF? Traccia. RMS garantisce solo fino a : non garantito (può funzionare, ma va verificato). EDF garantisce per ogni .
Versione ripasso
- Caso 1 , . Teoria: Scheduling multiprocessore e real-timeNei sistemi real-time conta la scadenza: si misurano latenza di interrupt e latenza di dispatch; i sistemi soft real-time danno priorità ai compiti critici senza garanzie, quelli hard devono rispettare le scadenze; per compiti periodici (burst t, scadenza d, periodo p, con 0 <= t <= d <= p) l'utilizzo è la somma di t/p: Rate Monotonic (priorità fissa, minore il periodo maggiore la priorità) garantisce le scadenze se l'utilizzo non supera N(2^(1/N)-1) (83% per due compiti), Earliest Deadline First (priorità dinamica, scadenza più vicina) le garantisce se l'utilizzo è sotto il 100%; la ripartizione proporzionale assegna T quote con controllo di ammissione; con più processori si hanno code comuni o private (SMP), core con più thread hardware, bilanciamento del carico (push e pull migration), affinità al processore (soft e hard), scheduling NUMA-aware; Linux usa CFS/EEVDF con domini di scheduling, Windows 32 livelli di priorità.Scheduling multiprocessore e real-time →.
- Priorità : finisce a 55 > 50, manca.
- RMS ( prioritario): 0-20, 20-50, 50-70, 70-75: ok ().
- Caso 2 , .
- RMS: 0-25, 25-50, 50-75, 75-85: finisce a 85 > 80, manca.
- EDF: 0-25, 25-60, 60-85, 85-100, 100-125, 125-145: ok ().
- Limite RMS: : 0,828 per (solo sufficiente).
- Errori tipici: credere che basti per RMS; priorità fissa sul burst invece che sul periodo; dimenticare le istanze successive.