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