• Aucun résultat trouvé

2.7.1

Description

La méthode Skip-over initialement conçue par Koren et Shasha [58] est une méthode de tolérance aux fautes temporelles pour des tâches périodiques de type temps réel ferme. Cette méthode anticipe une surcharge de traitement en choisissant judicieusement l’identité des instances de tâche autorisées à produire une faute temporelle. En d’autres termes, une diminution de la charge s’obtient par la non exécution de certaines instances de tâches choisies convenablement à partir de spécifications données par l’utilisateur.

2.7. LE MODÈLE SKIP-OVER 51

Selon cette approche, toute instance de tâche possède l’une des deux couleurs : rouge ou bleue. Une ins- tance rouge signifie qu’elle doit être exécutée impérativement avant son échéance, alors qu’une instance bleue peut être éliminée à tout moment provoquant ainsi une faute temporelle car ne produisant aucun ré- sultat.

Une tâche se caractérise par ses paramètres temporels habituels à savoir, une durée d’exécution pire casCi,

une périodeTi, une échéance relativeDiet en plus un nouveau paramètre appelé paramètre de perte (en an-

glais, skip factor)si,2 ≤ si ≤ ∞. Cette valeur représente la distance minimale autorisée entre deux pertes

consécutives d’une même tâche. Une tâche peut ainsi avoir un facteur de perte différente d’une autre tâche en fonction de l’importance pour l’application à disposer de résultats de calcul aussi récents que possible. Le paramètre de perte renseigne sur la qualité de service minimale requise pour un fonctionnement jugé ac- ceptable même si celui-ci est dégradé. Dans le pire cas, chaque tâcheτiexécutera seulementsi− 1 instances

toutes lessi périodes. En effet, la distance entre deux pertes consécutives d’une tâche est obligatoirement

supérieure ou égale àsi périodes.

Nous notons que le modèle skip-over présente l’avantage de modéliser une application temps réel dure pour laquelle aucune faute temporelle n’est tolérée. Cent pour cent des instances doivent s’exécuter dans le respect des échéances. Pour cela, il suffit de fixersi à l’infini pour interdire toute perte pour chacune des

tâches.

Règles sursi :

• Quand une instance bleue d’une tâche produit une faute temporelle c’est à dire ne s’exécute pas avec succès avant échéance, les(si− 1) instances suivantes sont nécessairement rouges c’est à dire devront

impérativement s’exécuter avec succès.

• Quand une instance bleue d’une tâche est complètement exécutée avant son échéance, l’instance sui- vante devient bleue.

• Les(si− 1) premières instances de chaque tâche sont supposées rouges.

2.7.2

Analyse d’ordonnançabilité

En environnement temps réel ferme il est indispensable de pouvoir garantir un fonctionnement respectant les spécifications caractérisées par le facteur de perte de chaque tâche. Les théorèmes suivants nous donnent des résultats très utiles pour effectuer une analyse d’ordonnançabilité.

Theorem 3 [58] Un ensemble des tâches périodiques indépendantesτ = {τi(Ci, Ti, si), 1 ≤ i ≤ n} conformes

au modèle skip-over est ordonnançable seulement si Pn

i=1

Ci.(si−1) Ti.si ≤ 1

Ce théorème signifie tout simplement que le taux d’utilisation dans la situation pire cas de pertes doit être inférieur à la capacité de traitement du processeur, soit 1.

Le théorème suivant introduit par Caccamo et Buttazzo [22], donne une condition suffisante d’ordonnan- çabilité basée sur la demande processeur : Dans tout intervalle de temps, la demande processeur pire cas requise par les instances rouges doit être inférieure ou égale à la longueur de cet intervalle.

52 CHAPITRE 2. GESTION CONTRÔLÉE DES FAUTES TEMPORELLES

Theorem 4 [22] Un ensemble des tâches périodiques indépendantesτ = {τi(Ci, Ti, si)1 ≤ i ≤ n} conformes

au modèle skip-over est ordonnançable si∀L ≥Pn

i=1D(i, [0, L]) avec

D(i, [0, L]) = (bL Tic − b

L Ti.sic)

Le théorème suivant fournit une condition nécessaire et suffisante d’ordonnançabilité en introduisant un facteur d’utilisationU∗

p appelé facteur d’utilisation équivalent qui tient compte des pertes.

Theorem 5 [22] Un ensemble des tâches périodiques indépendantesτ = {τi(Ci, Ti, si)1 ≤ i ≤ n} conformes

au modèle skip-over est ordonnançable si et seulement siU∗

p ≤ 1 où :

Up∗ = minL≥0Pni=1

D(i,[0,L]) L

2.7.3

Stratégies d’ordonnancement

Les concepteurs de ce modèle ont proposé deux algorithmes d’ordonnancement basiques appelés respecti- vementRT O (Red Tasks Only) et BW P (Blue When Possible).

Stratégie d’ordonnancement RTO

Selon l’algorithmeRT O [58], on exécute seulement les instances rouges et donc toutes les instances bleues sont systématiquement rejetées. On peut donc dire que RTO fournit une QdS effective égale à la QdS spé- cifiée c’est à dire conduit au plus mauvais comportement tolérable en termes d’échéances violées.

Les instances rouges sont ordonnées entre elles par l’algorithme d’ordonnancementEDF .

Illustration : Considérons l’ensemble de tâches donné par le tableau suivant : La séquence d’ordonnance-

Task ri Ti Ci si

τ1 0 3 1 4

τ2 0 4 2 3

τ3 0 12 5 ∞

TABLE2.3 – Tâches acceptant des pertes.

ment RTO est présentée sur la figure suivante :

0 4 8 12 16 20 24 28 τ1 t τ2 t τ3 t Instance red Instance blue

FIGURE2.7 – Illustration de l’ordonnancement RTO

Bien que RTO présente une implémentation très aisée, cette stratégie ne donne pas satisfaction puisque conduisant à une QdS juste acceptable.

2.7. LE MODÈLE SKIP-OVER 53

Stratégie d’ordonnancement BWP

Dans [58], les auteurs proposent un autre algorithme d’ordonnancement appelé BWP (Blue When Possible) plus performant que le précédent : On tente l’exécution des instances Bleues chaque fois qu’aucune instance rouge ne demande à s’exécuter. Autrement dit, BWP exécute les instances bleues en arrière-plan par rapport aux instances rouges.

Illustration : Considérons un ensemble de tâches dont les paramètres sont donnés par le tableau suivant : La séquence d’ordonnancement BWP est illustrée sur la figure suivante :

Task ri Ti Ci si

τ1 0 3 1 3

τ2 0 4 2 3

τ3 0 12 5 ∞

TABLE2.4 – Ensemble de tâches avec paramètres des pertes.

0 4 8 12 16 20 24 28 τ1 t τ2 t τ3 t Instance red Instance blue

FIGURE2.8 – Illustration de l’ordonnancement BWP

Stratégie d’ordonnancement RLP

Dans l’objectif de surmonter le grand inconvénient de BWP qui concerne le gaspillage du temps processeur chaque fois qu’on interrompt définitivement des instances bleues quasi au terme de leur exécution, dans [87] on propose deux solutions améliorantes.

La première proposition s’appelleRLP (Red instances as Late as Possible). Elle consiste à appliquer l’al- gorithme d’ordonnancementEDL (Earliest Deadline as Late as possible) aux instances rouges leur garan- tissant une exécution au plus tard sans fautes temporelles. La technique consiste à

• réserver les intervalles d’exécution au plus tard des instances rouges grâce à EDL (voir chapitre précédent),

• utiliser les intervalles de temps processeur laissés disponibles pour exécuter les instances bleues au plus tôt,

• chaque fois qu’une instance bleue réussit, on met à jour la séquence EDL,

• dans la situation particulière où aucune instance bleue ne demande son exécution, les instances rouges sont exécutées non pas au plus tard mais au plus tôt.

54 CHAPITRE 2. GESTION CONTRÔLÉE DES FAUTES TEMPORELLES

On montre qu’avec cette méthode, on maximise la capacité du processeur dédiée aux instances bleues et on optimise laQdS résultante.

Stratégie d’ordonnancementRLP/T

Dans le but d’améliorer les performances en terme de QdS, dans [87], on propose un autre algorithme appelé RLP/T . Son principe est de mettre en oeuvre un test d’acceptation avant tout lancement d’une instance bleue.

L’objectif de ce test est de garantir l’exécution à terme de chaque instance et par conséquent diminuer le gaspillage de temps processeur constaté dans l’algorithmeRLP dû aux instances partiellement exécutées ne produisant aucun résultat. Les instances rouges sont acceptées systématiquement pour être mises dans la liste prête d’exécution.

Le test d’acceptation repose sur le calcul exact du temps processeur disponible à l’arrivée de chaque instance bleue. Cela est fait toujours comme dans l’algorithmeRLP par l’utilisation de la théorie démontrée dans les travaux [25] [26] et par la prise en considération des instances rouges déjà prêtes et les instances bleues déjà acceptées.

Les résultats de simulations montrent la supériorité deRLP/T en termes de QdS mais ce, au détriment de la place mémoire requise et des overheads d’exécution de l’ordonnanceur.

2.7.4

Commentaires

Le modèle Skip-Over présente de nombreux avantages : il permet de prendre en compte la consécutivité des fautes temporelles, il permet la modélisation de tâches à contraintes dures (si = ∞) et des ordonnanceurs

sophistiqués commeRLP/T nous permettent d’optimiser la qualité de Service.

2.8

Conclusion

Nous avons restreint nos rappels aux fautes temporelles manifestées par le viol des échéances associées aux fins d’exécution normales des tâches temps réel.

Pour pallier à l’occurrence des fautes temporelles, des approches d’ordonnancement et des modèles ont été proposés. L’utilisation de ces derniers va dépendre de l’origine des fautes temporelles prises en consi- dération.

L’état de l’art présenté dans cette partie a permis de mettre en évidence différents modèles et approches d’ordonnancement adaptés aux systèmes temps réel fermes tolérants aux fautes temporelles en particulier lors de surcharges temporaires. Ces approches choisissent en fonction des spécifications données hors-ligne l’identité des instances de tâches autorisées à subir des fautes temporelles (autrement dit, les tâches en échec vis à vis de leur échéance). Au lieu que ces fautes temporelles se produisent de façon indéterministe et non contrôlée, on les choisit adéquatement. On diminue dynamiquement de manière astucieuse la charge infligée au processeur. Cela peut se faire par :

• la suppression de certaines instances de tâches ce qui engendre des fautes temporelles vu l’absence de résultats de sortie pour ces instances. C’est le principe du modèle skip-over. Cette approche convient plus particulièrement aux systèmes temps réel fermes puisque par définition, un système temps réel dur impose la production d’au moins un résultat de calcul par instance de tâche.

2.8. CONCLUSION 55

• l’exécution incomplète de certaines instances de tâches avec la production de résultats de sortie de moindre qualité.La tâche s’exécute partiellement mais il y a production d’une donnée de sortie avant échéance ce qui garantit un mode de fonctionnement dégradé.

1. On garantit l’exécution d’une partie de code minimale, la partie obligatoire. Ainsi un fonction- nement dégradé est assuré même en présence de fautes temporelles intervenant lorsque l’autre partie de code ne peut se terminer. C’est le principe du modèle Calcul Imprécis. Cette mé- thode s’applique aussi bien dans un contexte temps réel dur (pas de partie optionnelle) que temps réel ferme. Intéressante, cette approche ne se prête qu’à des tâches implémentées sous forme d’algorithmes itératifs, ce qui limite considérablement le champ applicatif (traitement d’image, cryptographie par exemple).

2. Pour chaque instance de tâche, au moins un résultat est produit. celui-ci est soit normal lorsque produit par l’algorithme primaire (absence de faute temporelle), soit de qualité dégradée lorsque produit par l’algorithme de secours (présence d’une faute temporelle). C’est le principe du Mécanisme à Échéance. Cette technique de tolérance aux fautes temporelles a donc un champ plus élargi d’application que le Calcul Imprécis. De plus, il permet de faire face également à des fautes logicielles. Jusqu’ici, ce mécanisme n’a été utilisé que dans un contexte de temps réel dur.

Nous proposons dans la partie suivante de cette thèse, un nouveau modèle, BGW, basé sur le modèle skip-over et sur le principe du Mécanisme à Echéance pour gérer de façon contrôlée et anticipée l’occur- rence de fautes temporelles.

II

Contribution à la modélisation de tâches temps

réel

3

BGW : un nouveau modèle de tâche

3.1

Présentation du chapitre

Dans ce chapitre, nous allons proposer un modèle de tâche plus général que ceux présentés dans la partie État de l’Art. Ce modèle appelé BGW(Black Grey White) permet de prendre en compte trois niveaux de qualité de service fournis par une instance de tâche périodique :

• Dans un fonctionnement en mode normal, l’instance s’exécute et fournit un résultat de haute précision issu de l’exécution de sa version primaire,

• Dans un fonctionnement en mode semi-dégradé, l’instance fournit un résultat de moindre précision issu de l’exécution de sa version de secours,

• Dans un fonctionnement en mode dégradé, l’instance ne fournit aucun résultat.

Ce chapitre décrit ce nouveau modèle que l’on peut décliner en trois variantes respectivement appelées BGW1, BGW2 et BGW3.