Schedulazione non omogenea - Dipartimento di Ingegneria

Transcript

Schedulazione non omogenea - Dipartimento di Ingegneria
SERVER APERIODICI
Mario Collotta
Dipartimento di Ingegneria Informatica e delle Telecomunicazioni
Università di Catania
[email protected]
Schedulazione non omogenea
• Task periodici
• Task aperiodici
hard RT con RM
hard RT, soft RT, NRT
con … ?
1
Alcune assunzioni….
• I task periodici
all’istante t=0;
sono
attivati
tutti
• I task periodici vengono schedulati con
Rate Monotonic (priorità fissa);
• I task aperiodici attivati ad istanti di
tempo sconosciuti a priori.
Problemi…
• Garantire la ciclicità dei processi
periodici
senza
ritardare
eccessivamente i processi aperiodici
• Periodic Task isolation
2
Soluzioni
• Se le attività aperiodiche sono di tipo
soft o NRT si minimizza il tempo di
risposta
• Se le attività aperiodiche sono di tipo
hard
NO deadline miss
Schedulazione
di solo traffico periodico con EDF
3
Esempio di Schedulazione
Esempio di Schedulazione
U=0.73<U
U=0.73<Ulub(2)=0.83
È lo stesso di avere 2 code :
• High Queue (periodici con RM)
• Low Queue (aperiodici con FCFS)
4
Osservazioni
☺La schedulazione può essere migliorata
inserendo un processo periodico
(server)
server al servizio delle richieste
aperiodiche.
Capacità del server
Cs
5
)
Server a priorità statica
•
•
•
•
•
Polling Server
Deferrable Server
Priority Exchange
Sporadic Server
Slack Stealer
6
Server a priorità dinamica
•
•
•
•
•
•
•
Dynamic Priority Exchange
Dynamic Sporadic Server
Total Bandwidth Server
Earliest Deadline Late
Improved Priority Exchange
Improved Total Bandwidth
Constant Bandwidth Server
Un confronto delle prestazioni
7
Server a priorità dinamica
Total Bandwith Server
Assegna una deadline dipendente dal proprio tempo di calcolo ad ogni
richiesta aperiodica.
L’assegnazione deve essere tale da non pregiudicare la schedulabilità dei
task real-time e quindi deve mantenere il fattore di utilizzazione del carico
non real-time entro il valore massimo specificato Us.
8
Total Bandwith Server
EDF + TBS
9
Problemi con il TBS
Robust Total Bandwidth
• l’algoritmo Robust Aperiodic Scheduling
under Dynamic Priority System (RTB)
• La differenza sostanziale con il TBS è che
in questo caso ad ogni task aperiodico
real-time viene assegnato un set di valori.
10
• Se il task aperiodico termina prima del previsto, il tempo
rimasto viene utilizzato per ricalcolare la deadline secondo
la seguente formula:
_
d i' = ri +
Ci
US
– Ci = massimo tempo di esecuzione del task
– U
_ s= il fattore di utilizzazione del server.
– ri è il valore corretto del tempo di arrivo ed è calcolato tramite la
seguente formula:
_
_
ri = max( ri , d i −1 , f i −1 )
• ri è l’attuale tempo di arrivo del task,
• d i-1 e f i-1 sono i valori corretti della deadline e del tempo di fine
esecuzione del task precedente
11
Case study: Bluetooth
Bluetooth: la genesi del progetto
1998:
Nascita dello BT Special Interest Group tra Ericsson ed
altre grandi aziende per la definizione dello standard
Bluetooth
Formazione del Gruppo di Lavoro IEEE 802.15 per le
WPAN (Wireless Personal Area Networks).
Obiettivo:
• interazione tra dispositivi dislocati su di una singola
persona o nell’area attorno ad essa.
Nel 1999, furono pubblicate dal SIG le prime specifiche
dello standard Bluetooth versione 1.0 .
Già dal 2000 troviamo, nei negozi, i primi dispositivi
Bluetooth.
12
Caratteristiche di Bluetooth
Facoltà di Ingegneria
Bluetooth (BT) nasce per applicazioni distribuite senza vincoli di tempo reale,
ma le sue caratteristiche non ne precludono l’uso a supporto delle
applicazioni con i vincoli di tempo reale.
BT opera nelle frequenze tra 2.4 e 2.5 GHz nella banda denominata ISM
(Industrial Scientific Medical), libera da ogni licenza di utilizzo.
La trasmissione dei dati può avvenire su canali sincroni (SCO) e asincroni
(ACL). Gli SCO sono tipicamente usati per il traffico audio, gli ACL per i
dati.
Si riesce ad avere un data rate fino a 721 kbit/s, mentre il range di
trasmissione è di circa 10 m.
Piconet
Una piconet è costituita da due o più periferiche che
condividono un canale di comunicazione utilizzando Bluetooth,
fino ad un massimo di 8 dispositivi.
13
Piconet
• I dispositivi dotati di BT comunicano tra loro creando e riconfigurando
dinamicamente delle reti ad hoc (piconet)
• la configurazione cambia automaticamente quando si inserisce o si
elimina un dispositivo)
• più piconet possono a loro volta interconnettersi, aumentando le
possibilità di espansione.
Facoltà di Ingegneria
FHHS
Frequency Hopping Spread Spectrum (FHSS), secondo
cui il segnale utile, a banda stretta, modula una portante
la cui frequenza varia tra 79 frequenze diverse, a partire
dai 2402 MHz e distanziate tra loro di 1 MHz.
14
Facoltà di Ingegneria
FHHS
Le informazioni sono trasmesse per mezzo di pacchetti, ognuno
dei quali viaggia su una propria frequenza di salto.
Il Master invia (in slot dispari) dei pacchetti di dati allo Slave su
frequenze diverse, e lo Slave gli risponde inviando dei pacchetti in
slot pari su altre frequenze.
Una singola trasmissione può occupare fino ad un massimo di
cinque slot temporali.
Scatternet
• Più piconet collegate tra loro dai
relativi master formano una
struttura più ampia chiamata
scatternet.
• Le comunicazioni tra le piconet
sono filtrate dai master
• E’ possibile includere fino a 10
piconet con al loro interno un
numero massimo di 79 dispositvi
bluetooth i quali utilizzeranno
una propria frequenza diversa dai
dispositivi di un'altra piconet.
15
Schedulazione BT standard
S2
S3
S1
M
S4
S7
S6
S5
Piconet
Scan-cycle nell’approccio standard: Master/Slave
Osservazioni:
Per soddisfare i vincoli real-time occorre introdurre una schedulazione che
tenga esplicitamente conto delle deadline (deadline-aware).
Schedulazione BT Slave/Slave
descritta in
- [Lo Bello et al, IEEE LCN 2004]
- [L.Lo Bello, M.Collotta, O.Mirabella RTN05 ]
L’overhead si può evitare
☺ Due Slave che debbano
comunicare potrebbero
farlo direttamente senza
la
mediazione del
Master.
16
Slave/Slave vs Master/Slave
BT Master/Slave con EDF + TBS
L. Lo Bello, M. Collotta, O. Mirabella, T. Nolte.
“Approaches to support RealReal-Time traffic over Bluetooth”
Bluetooth”.
In Proceed. of the 4th Intl. Workshop on Real-Time Networks, RTN 05, in conjunction with the 17th
Euromicro Intl. Conference on Real-Time Systems, Palma de Mallorca, Spain, July 2005
Earliest Deadline First (EDF)
Algoritmo di schedulazione a priorità dinamiche
deadline assoluta
=
d
i, k
priorità inversamente proporzionale alla
ri,k + Di
Total Bandwidth Server (TBS)
Quando la k-esima richiesta aperiodica arriva al
tempo t=ri, essa riceve un valore di deadline :
d
i
= max
(t , d ) + C + C
U
i
i
m
i -1
s
successivamente viene schedulata con EDF.
Tabella di schedulazione (con EDF) del Master
17
M/S (EDF/server) + S/S (EDF)
M. Collotta, L. Lo Bello, O. Mirabella
“Deadline”
Deadline-Aware Scheduling Policies for Bluetooth Networks in Industrial Communications
Communications”
IEEE 2nd Int. Symposium on Industrial Embedded System, SIES 2007, Lisbon, 2007
• Comunicazioni M/S e S/S in parallelo nella stessa
piconet
• Deadline-aware scheduling per traffico:
periodico EDF
Aperiodico e Sporadico CBS o TBS.
• La modalità S/S supporta trasmissioni
esclusivamente al traffico periodico.
relative
• La modalità S/S serve stazioni che generano traffico
ibrido sia periodico che aperiodico o sporadico.
Broadcast Message
• AM_ADDRi: indirizzo dell’i-esimo Slave che entrerà nel
ring. La sequenza fornisce anche la schedulazione fra gli
Slave all’interno del ring.
• N_SLOT: numero di slot per cui sarà ripetuta la
sequenza Slave/Slave prima di tornare alla modalità
M/S.
• SKEW: indica di quante posizioni occorre spostarsi nella
sequenza di FH per evitare collisioni con i nodi che
operano in modalità M/S.
18
BT Master/Slave e Slave/Slave
Slave
B
Slave
A
Slave
C
Slave
G
Slave
D
Master
Slave
F
•gli Slave A,B,C,D producono solo
traffico periodico
•gli Slave E,F,G trasmettono sia
traffico periodico che aperiodico.
Slave
E
U
tot
=U
p
=
I fattori di utilizzazione diventano due…
Perché si hanno due trasmissioni
“CONTEMPORANEAMENTE”
U tot = U ape +
n
CB
C
+ ∑ Si
M B i =1 Ti
n
(C + C M
CB
+ ∑ Si
M B i =1
Ti
)
Up
Teorema di schedulabilità
M. Collotta, O. Mirabella, L. Lo Bello
“Comparison between RT scheduling techniques for Bluetooth Networks
Networks in DPCSs”
DPCSs”,
IEEE 2nd Int. Work in Progress - Symposium on Industrial Embedded System, SIES 2007, Lisbon, 2007.
• un set di richieste periodiche è schedulabile
secondo l’algoritmo non-preemptive EDF se
sussistono due condizioni.
– La prima (Eq.1) è relativa all’utilizzazione del sistema
(in termini di banda, poichè trattiamo trasmissione di
pacchetti)
– La seconda (Eq. 2) fa riferimento alla domanda del
sistema
19
Teorema di schedulabilità
• Teorema : Dato τp = {v1, v2, …….., vn }, dove vi
= (ci, Ti) è un insieme di variabili periodiche
in ordine di periodo non decrescente (es: per
ciascuna coppia di variabili vi e vj , se i > j
allora Ti ≥ Tj). Se τp è schedulabile allora :
⎛ n
= ⎜⎜ ∑
⎝ i =1
1
U
2
∀ i ,1 < i ≤ n; ∀ L , → T 1 <
tot
=U
p
+U
s
C
Si
C
+
Ti
m
⎞
+ U s ⎟⎟ ≤ ρ
⎠
⎢ L − 1⎥
⎥cj
j =1
⎣ T j ⎥⎦
i −1
L < T : L ≥ c + ∑ ⎢⎢
i
i
Osservazioni sulla II condizione del Teorema
• La II condizione è un least upper bound sulla domanda
della banda che si può realizzare in un intervallo di
lunghezza L, che inizia all’istante di invocazione della
variabile periodica, e finisce prima della deadline per
quella invocazione.
• Affinché un set di variabili sia schedulabile, la domanda
nell’intervallo L deve essere sempre minore o uguale alla
lunghezza dell’intervallo.
• La II condizione se si dovesse presentare il caso in cui
T1=T2=…..=Ti, si verifica nel modo seguente:
– si calcola la somma dei Ci, costi di trasmissione (in numero di
slot) delle variabili, tal valore si confronta con il periodo, se la
somma dei costi risulta minore del periodo allora la condizione è
verificata, altrimenti no.
20
Esempio su rete BT
step 1 rappresenta l’intera piconet,
che lavora in M/S mode. Il Master,
tramite il broadcast message (BM),
configura i nodi 4, 5, 6 and 7 in un
ring logico.
step 2 raffigura il parallelismo tra la
sub-piconet A, dove il Master opera
in M/S mode con i nodi 1,2 e 3, e il
ring logico (sub-piconet B), dove i
nodi 4,5,6 e 7 trasmettono usando
il meccanismo del virtual token
passing.
Questions…?
21