18.08.2013 Views

Schedulazione task aperiodici priorita` statiche - Robotica

Schedulazione task aperiodici priorita` statiche - Robotica

Schedulazione task aperiodici priorita` statiche - Robotica

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Corso di Sistemi Real-time<br />

<strong>Schedulazione</strong> di <strong>task</strong> <strong>aperiodici</strong> a priorita’<br />

<strong>statiche</strong><br />

Tullio Facchinetti<br />

<br />

20 dicembre 2011<br />

00:26<br />

http://robot.unipv.it/toolleeo<br />

Tullio Facchinetti Corso di Sistemi Real-time <strong>Schedulazione</strong> di <strong>task</strong> <strong>aperiodici</strong> a pri


Task <strong>aperiodici</strong><br />

RM<br />

τ1<br />

τ2<br />

τ3<br />

0 5 10 15 20 25<br />

2 3 1<br />

quando schedulare le richieste aperiodiche<br />

garantendo i vincoli dei <strong>task</strong> periodici?<br />

Tullio Facchinetti Corso di Sistemi Real-time <strong>Schedulazione</strong> di <strong>task</strong> <strong>aperiodici</strong> a pri


Task <strong>aperiodici</strong><br />

Ji<br />

Ci<br />

0 5 10 15 20 25 30 t<br />

ri,1 ri,2 ri,3<br />

<strong>task</strong> <strong>aperiodici</strong><br />

<strong>task</strong> sporadici<br />

ri,k+1 > ri,k<br />

ri,k+1 ≥ ri,k +Ti<br />

Tullio Facchinetti Corso di Sistemi Real-time <strong>Schedulazione</strong> di <strong>task</strong> <strong>aperiodici</strong> a pri


Background scheduling<br />

τ1<br />

τ2<br />

τ3<br />

ape<br />

0 5 10 15 20 25<br />

• la schedulazione dei <strong>task</strong> <strong>aperiodici</strong> avviene quando il<br />

processore e’ idle<br />

• tecnica piu’ semplice e immediata<br />

Tullio Facchinetti Corso di Sistemi Real-time <strong>Schedulazione</strong> di <strong>task</strong> <strong>aperiodici</strong> a pri


Polling Server<br />

assunzioni:<br />

schedulazione di <strong>task</strong> <strong>aperiodici</strong> soft<br />

insieme a <strong>task</strong> periodici hard<br />

• i <strong>task</strong> periodici sono schedulati con RM<br />

• deadline uguali al periodo<br />

• per i <strong>task</strong> <strong>aperiodici</strong> tempi di arrivo sconosciuti e tempi di<br />

calcolo noti a priori<br />

• tutti i <strong>task</strong> sono preemptabili<br />

Tullio Facchinetti Corso di Sistemi Real-time <strong>Schedulazione</strong> di <strong>task</strong> <strong>aperiodici</strong> a pri


Polling Server<br />

• periodo Ts e capacita’ Cs<br />

• ogni Ts unita’ di tempo la capacita’ viene ricaricata al<br />

massimo valore Cs<br />

• ogni istante di esecuzione di <strong>task</strong> <strong>aperiodici</strong> consuma una<br />

unita’ di capacita’<br />

• se non ci sono <strong>task</strong> <strong>aperiodici</strong> in attesa, il server si<br />

auto-sospende e azzera la capacita’<br />

l’azzeramento della capacita’ puo’ causare la presenza di<br />

idle time non sfruttabili dai <strong>task</strong> <strong>aperiodici</strong> anche se la<br />

coda aperiodica non e’ vuota<br />

Tullio Facchinetti Corso di Sistemi Real-time <strong>Schedulazione</strong> di <strong>task</strong> <strong>aperiodici</strong> a pri


Polling Server<br />

Cs<br />

τ1<br />

τ2<br />

aper<br />

2<br />

1<br />

0<br />

2 1 2 1<br />

0 2 4 6 8 10 12 14 16 18 20 22 24<br />

τ1 = (1,4) τ2 = (2,6) Cs = 2 e Ts = 5<br />

Tullio Facchinetti Corso di Sistemi Real-time <strong>Schedulazione</strong> di <strong>task</strong> <strong>aperiodici</strong> a pri


Analisi della schedulabilita’<br />

dal punto di vista della schedulabilita’ un Polling Server si<br />

comporta come un <strong>task</strong> periodico di periodo Ts e WCET Cs<br />

n<br />

Ci<br />

Ti<br />

i=1<br />

Up +Us ≤ Ulub(n +1)<br />

+ Cs<br />

Ts<br />

nel caso di m Polling Server<br />

Up +<br />

m<br />

j=1<br />

<br />

≤ (n+1) 2 1/(n+1) <br />

−1<br />

Usj ≤ Ulub(n +m)<br />

Tullio Facchinetti Corso di Sistemi Real-time <strong>Schedulazione</strong> di <strong>task</strong> <strong>aperiodici</strong> a pri


Sporadic Server<br />

parametri di definizione e di funzionamento:<br />

• periodo Ts<br />

• massimo budget Cs<br />

• priorità Ps statica (es., fissata in base a RM)<br />

siano<br />

• C(t) la capacità corrente del server<br />

• Pexe la priorità del <strong>task</strong> in esecuzione<br />

Tullio Facchinetti Corso di Sistemi Real-time <strong>Schedulazione</strong> di <strong>task</strong> <strong>aperiodici</strong> a pri


Sporadic Server: funzionamento<br />

il funzionamento dello Sporadic Server é definito come segue:<br />

• il server é detto attivo all’istante t quando Pexe ≥ Ps e<br />

C(t) > 0<br />

• il server é detto idle all’istante t quando Pexe < Ps oppure<br />

C(t) = 0<br />

• inizialmente il server é idle e C(0) = Cs<br />

• quando il server diviene attivo all’istante t1 viene fissato<br />

l’istante di ricarica pari a tr = (t1 +Ts)<br />

• quando il server diviene idle all’instante t2 > t1 la quantità di<br />

ricarica viene fissata pari alla capacità Cr consumata<br />

nell’intervallo [t1,t2)<br />

• all’istante tr la capacità viene ricaricata della quantità Cr<br />

Tullio Facchinetti Corso di Sistemi Real-time <strong>Schedulazione</strong> di <strong>task</strong> <strong>aperiodici</strong> a pri


Sporadic Server: esempio<br />

Cs<br />

τ1<br />

τ2<br />

aper<br />

SS<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

2 2<br />

0 2 5 6 8 10 12 14 16 18 20 22 24<br />

τ1 = (1,5) τ2 = (4,15) Cs = 5 e Ts = 10<br />

Tullio Facchinetti Corso di Sistemi Real-time <strong>Schedulazione</strong> di <strong>task</strong> <strong>aperiodici</strong> a pri<br />

+2<br />

+2


SS: analisi della schedulabilita’<br />

• uno Sporadic Server non si comporta come un <strong>task</strong> periodico<br />

n<br />

Ci<br />

Ti<br />

i=1<br />

≤ n<br />

2<br />

Us +1<br />

1/n<br />

−1<br />

• data Up che rappresenta l’utilizzazione dei <strong>task</strong> periodici, la<br />

dimensione massima che garantisce la schedulabilita’ dei<br />

periodici e’<br />

U ∗ SS<br />

<br />

Up<br />

= 2<br />

n +1<br />

−n −1<br />

Tullio Facchinetti Corso di Sistemi Real-time <strong>Schedulazione</strong> di <strong>task</strong> <strong>aperiodici</strong> a pri

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!