• Aucun résultat trouvé

Etat de l’art

2.2. STRUCTURE DES SYST ` EMES TEMPS R ´ EEL

quatre ´etats dans la plupart des RTOS. Une tˆache est initialement dans l’´etat Endormie. Quand la tˆache se r´eveille, elle passe `a l’´etat Prˆete, dans cet ´etat la tˆache est activ´ee mais en attente d’ˆetre choisie par l’ordonnanceur pour ˆetre ex´ecut´ee et donc passer `a l’´etat En cours d’ex´ecution. Dans l’´etat En cours d’ex´ecution, une tˆache est ex´ecut´ee par un coeur de processeur. Elle peut au gr´e de l’ordonnanceur : (i) ˆetre pr´eempt´ee pour retourner `a l’´etat Prˆete, (ii) se mettre en attente d’un message, d’une date, d’un ´ev´enement ou l’acc`es `a une ressource pour passer `a l’´etat En attente ou (iii) finir son ex´ecution ou ˆetre suspendue et passer `a l’´etat Endormie. A l’´etat En attente, la tˆache requiert qu’une condition soit v´erifi´ee pour passer `a l’´etat Prˆete.

Figure 2.2 – ´Etats d’une tˆache

2.2.1.2 Caract´eristiques temporelles d’une tˆache

Dans la plupart des mod`eles acad´emiques de repr´esentation de tˆaches temps r´eel celles-ci sont r´ecurrentes. Une tˆache est vue comme une suite de travaux, qui repr´esentent chacun une instance d’ex´ecution de la tˆache. La figure 2.3 repr´esente le mod`ele conventionnel de tˆache relevant les caract´eristiques de base d’une tˆache et ses travaux.

Figure 2.3 – Mod`ele de tˆache

Les caract´eristiques d’une tˆache :

— Ci : (pire dur´ee d’ex´ecution) le temps maximum dont le processeur a besoin pour finir l’ex´ecution d’une instance de la tˆache.

— Ti : (p´eriode) l’intervalle de temps entre le r´eveil de deux instances cons´ecutives d’une tˆache.

— Di: (´ech´eance relative) le d´elai entre r´eveil d’un travail et son ´ech´eance. Si Di=Ti, la tˆache est dite `a ´ech´eance sur requˆete ou `a ´ech´eance implicite. Les tˆaches d’un syst`eme sont dites `a ´ech´eances contraintes si toutes les d´elais relatifs sont inf´erieurs ou ´egaux aux p´eriodes. S’il n’y a aucune relation entre le d´elai relatif et la p´eriode, le syst`eme de tˆaches est dit `a ´ech´eances arbitraires.

— Ji : la gigue (ou jitter en anglais) est le retard maximal d’une activation par rapport `a l’activation p´eriodique de celle-ci.

Les caract´eristiques des travaux :

— ri,j : (date de r´eveil ou date d’activation) date o`u la j-i`eme instance de la tˆache τi est activ´ee. Si la date de r´eveil est connue a priori, la tˆache est dite concr`ete. Si toutes les dates de r´eveil des tˆaches d’un syst`eme sont connues et ´egales, le syst`eme de tˆaches est dit synchrone, autrement le syst`eme de tˆaches est dit diff´er´e. La date de r´eveil de la premi`ere instance correspond `a l’offset de la tˆache.

— si,j : (date de d´ebut) date o`u la j-i`eme instance de la tˆache τi commence son ex´ecution. — fi,j : (date de fin) date o`u la j-i`eme instance de la tˆache τi finit son ex´ecution.

— Ri,j : (temps de r´eponse) le temps n´ecessaire pour que la j-i`eme instance de la tˆache finisse

Ri,j=fi,j-ri,j. Le temps de r´eponse maximal parmi les instances d’une tˆache repr´esente le pire temps de r´eponse de la tˆache.

— di,j: (d´elai absolu) date avant laquelle la j-i`eme instance de la tˆache τidoit finir ses travaux,

di,j=ri,j+Di.

— Li(t) : (laxit´e) le temps (variable selon l’instant de calcul t) pendant lequel une tˆache peut ˆ

etre retard´ee sans manquer son ´ech´eance, Li(t) = di(t) − t − ci(t) o`u di(t) est l’´ech´eance du travail en cours pour la tˆache τi `a l’instant t, et ci(t) est la dur´ee d’ex´ecution restante pour ce travail.

Selon la p´eriodicit´e, on peut classifier les tˆaches en trois types :

— Tˆache p´eriodique : la tˆache s’active `a des intervalles r´eguliers de temps Ti. Nous avons alors : ri,j+1=ri,j+Ti.

— Tˆache sporadique : la p´eriode d’activation n’est pas connue a priori, deux activations cons´ecutives sont s´epar´ees par un intervalle minimum de temps. Alors ri,j+1 ≥ ri,j + Ti. La tˆache p´eriodique est un cas particulier de tˆache sporadique.

— Tˆache ap´eriodique : elle est souvent activ´ee par l’arriv´ee des ´ev´enements qui peuvent se passer `a tout moment. Il n’existe donc pas de p´eriode (mˆeme l’intervalle minimal s´eparant deux instances) ni de date de r´eveil.

2.2.2 Architecture mat´erielle

La partie mat´erielle des syst`emes temps r´eel se compose des processeurs, m´emoires, r´eseaux, dispositifs d’entr´ees/sorties, etc. L’architecture mat´erielle des syst`emes est souvent classifi´ee selon le nombre de processeurs : monoprocesseur et plusieurs processeurs. Lorsqu’une application s’ex´ecute sur plusieurs processeurs, nous pouvons distinguer deux types de syst`emes : le syst`eme multiprocesseur et le syst`eme distribu´e (ou r´eparti).

2.2.2.1 Architecture multiprocesseur

Le syst`eme multiprocesseur (fortement coupl´e dans l’acad´emique) est un syst`eme qui a plu-sieurs processeurs connect´es par un bus interne et qui partagent souvent une m´emoire commune. Le coˆut de communication inter-processeur est souvent consid´er´e n´egligeable, il peut avoir une

2.2. STRUCTURE DES SYST `EMES TEMPS R ´EEL

horloge commune, voire un ordonnanceur commun (dit global). Les tˆaches peuvent migrer d’un processeur `a l’autre. La figure 2.4 pr´esente l’architecture mat´erielle des syst`emes multiproces-seurs.

Figure 2.4 – Architecture mat´erielle des syst`emes multiprocesseur

Il existe trois types d’architectures multiprocesseurs :

— Architecture `a processeurs h´et´erog`enes : les processeurs sont diff´erents donc le temps d’ex´ e-cution d’une tˆache d´epend `a la fois du processeur et de la tˆache.

— Architecture `a processeurs homog`enes : tous les processeurs sont identiques. Par cons´ e-quent, le temps d’ex´ecution de toutes les tˆaches est le mˆeme sur tous les processeurs. — Architecture `a processeurs uniformes : le temps d’ex´ecution d’une tˆache d´epend de la

cadence du processeur. Un processeur de cadence 2xC ex´ecute deux fois plus vite qu’un processeur de cadence C.

2.2.2.2 Architecture distribu´ee

Le syst`eme `a architecture distribu´ee (faiblement coupl´ee) est un syst`eme qui est compos´e de plusieurs noeuds reli´es entre eux par un ou plusieurs r´eseaux. L’architecture de chaque noeud peut ˆetre de type monoprocesseur ou multiprocesseur. G´en´eralement, la communication entre les noeuds a un coˆut de temps non-n´egligeable et l’arbitrage du r´eseau est consid´er´e dans les temps de transmission. Les processeurs de diff´erents noeuds fonctionnent de mani`ere ind´ependante (pas d’horloge commune). Les tˆaches ne migrent g´en´eralement pas entre les processeurs appartenant `

a diff´erents noeuds. Un exemple d’architecture distribu´ee est pr´esent´e sur la figure 2.5.

L’architecture des syst`emes distribu´es pourrait ˆetre classifi´ee selon les types des r´eseaux qui peuvent d’ˆetre de diff´erentes topologies (e.g., bus, maill´ee, etc.) et arbitr´es par diff´erents protocoles de communication (e.g., TDMA, CSMA, etc.).

2.2.3 Syst`eme d’exploitation

Un syst`eme d’exploitation temps r´eel (Real-Time Operating System-RTOS) sert d’interm´ e-diaire entre la partie logicielle et la partie mat´erielle. Le RTOS g`ere les ressources mat´erielles et fournit un m´ecanisme d’arbitrage permettant le partage des ressources. Ce qui nous int´eresse le plus dans le cadre de cette th`ese est le m´ecanisme d’arbitrage des ressources de calcul, appel´e

Figure 2.5 – Architecture mat´erielle des syst`emes distribu´es

ordonnanceur (scheduler en anglais), qui est responsable de l’ordre d’ex´ecution des tˆaches sur les processeurs de fa¸con `a garantir le d´eterminisme temporel.

D´efinition 2.2.1 La politique d’ordonnancement est la strat´egie utilis´ee par l’ordonnanceur pour ´etablir l’ordre d’ex´ecution des tˆaches.

Un syst`eme de tˆaches est ordonnan¸cable selon une politique d’ordonnancement donn´ee si l’ordonnancement produit par cette politique respecte toutes les ´ech´eances. Un syst`eme de tˆaches est faisable s’il existe une politique d’ordonnancement sous laquelle le syst`eme de tˆaches est ordonnan¸cable [DB11b]. Nous pouvons classifier les politiques d’ordonnancement selon les caract´eristiques d’ordonnancement suivantes :

— Preemptif et Non-preemptif : sous les politiques d’ordonnancement pr´eemptif, l’ins-tance de la tˆache en cours d’ex´ecution peut ˆetre interrompue `a tout moment pour ex´ecuter une autre instance de tˆache plus prioritaire conform´ement `a la politique d’ordonnancement choisie. Sous les politiques d’ordonnancement non-pr´eemptif, une instance de tˆache, une fois commenc´ee son ex´ecution, ne peut pas ˆetre interrompue jusqu’`a son ach`evement. Dans ce cas, toutes les d´ecisions d’ordonnancement sont prises lorsque l’instance de tˆache termine son ex´ecution.

— Statique et Dynamique : les politiques d’ordonnancement statique se basent sur les param`etres fixes (e.g., p´eriode, d´elai relatif) pour affecter les priorit´es aux tˆaches avant leur ex´ecution. Dans les politiques d’ordonnancement statique, nous pouvons distinguer deux classes : priorit´es fixes aux tˆaches (e.g., RM, DM) et priorit´es fixes aux travaux (e.g., EDF [Der74]). L’ordonnancement dynamique se base sur les param`etres dynamiques qui peuvent changer au cours d’ex´ecution (e.g., laxit´e). La politique d’ordonnancement dynamique typique est LLF (Least Laxity First [Mok83]).

— En ligne et Hors ligne : les politiques hors ligne consistent `a construire en avance la s´equence compl`ete d’ordonnancement des tˆaches qui se r´ep`ete apr`es un intervalle de temps sp´ecifique. Les politiques d’ordonnancement en ligne sont capables `a tout moment de choisir la prochaine tˆache `a ex´ecuter en fonction des param`etres temporels des tˆaches. Ces politiques sont bas´ees sur la notion de priorit´e. Les d´ecisions d’affectation de priorit´e sont prises soit avant l’ex´ecution du syst`eme (politiques `a priorit´es fixes aux tˆaches), soit durant cette ex´ecution (politiques `a priorit´es fixes aux travaux).

Parmi les politiques d’ordonnancement, l’optimalit´e, la dominance, l’´equivalence et l’incom-parabilit´e sont des crit`eres de comparaison `a consid´erer dans le choix des politiques d’ordonnan-cement.

D´efinition 2.2.2 Une politique d’ordonnancement A est dite optimale pour une classe de sys-t`emes dans une cat´egorie de politiques d’ordonnancement C et selon les hypoth`eses pos´ees, si et