• Aucun résultat trouvé

Dans cette section, nous prouvons qu’un ensemble qui est jugé non ordonnançable par les tests exacts utilisés le demeure après regroupement. Cela nous permet de réduire l’espace de recherche des solutions lorsque nous recherchons l’ensemble de tâches minimal.

6.2. Non-ordonnançabilité viable

Baruah et Burns [11] ont défini la notion d’ordonnançabilité viable (sustainable schedulability en anglais).

Définition 11 (Viabilité)

Un test d’ordonnançabilité pour une politique d’ordonnancement donnée est viable si n’importe quel ensemble de tâches jugé ordonnançable par le test d’ordonnançabilité reste ordonnançable lorsque les paramètres d’une ou de plusieurs tâches sont changés de une, de plusieurs ou de toutes les manières suivantes : (i) diminution des pires temps d’exécution ; (ii) agrandissement des périodes ; (iii) diminution de la gigue ; et (iv) agrandissement des échéances relatives.

De manière similaire, nous étudions comment évolue un ensemble de tâches non ordonnançable dans de « moins bonnes » conditions : avec diminution des échéances relatives, des périodes ou augmentation des pires temps d’exécution.

Nous examinons la non-ordonnançabilité viable dans le contexte de l’ordonnancement pré- emptif monoprocesseur avec des tâches synchrones sous assignation de priorités fixes par tâche et sous assignation de priorités fixes par travail. Notons que dans cette section, S′ ne fait pas référence à l’ensembleS après regroupement.

6.2.1 Assignation de priorité fixe par tâche

Dans le cas d’un ordonnancement à priorité fixe par tâche, nous démontrons la viabilité de la non-ordonnançabilité du test exact RTA défini dans l’équation 5.5. La viabilité est considérée dans la littérature comme une caractéristique d’un test d’ordonnançabilité au même titre qu’un test est suffisant ou nécessaire. Nous appliquons également le principe de la viabilité de manière plus générale à toutes les assignations à priorité fixe par tâche en ce qui concerne les échéances. Théorème 5 (Non-ordonnançabilité viable de RTA)

Un ensemble de tâches jugé non ordonnançable par RTA le demeure avec des échéances relatives plus courtes.

Preuve Par contraposée. Soit S un ensemble de tâches jugé non ordonnançable par RTA. Soit

S′ un ensemble de tâches identique à S à l’exception que certaines tâches ont des échéances

relatives plus courtes. Supposons que S est ordonnançable. Comme RTA est viable, cela signifie

que S est ordonnançable (parce que S est obtenu en augmentant certaines échéances de S′). En

conséquence, nous avons une contradiction.

Lemme 1

Un ensemble de tâches qui est non ordonnançable avec RTA le demeure avec des périodes ou des temps d’exécution plus grands.

Preuve Considérant RTA, nous pouvons observer trivialement dans l’équation (5.5) que dimi-

nuer une période Ti et augmenter un pire temps d’exécution Ci augmentera le pire temps de

réponse Ri.

Le théorème précédent se restreint à la viabilité de la non-ordonnançabilité selon un test d’ordonnancement particulier, RTA, pour la classe des ordonnancements à priorité fixe par tâche. Dans le théorème suivant, nous traitons une propriété plus forte qui concerne la classe des ordonnancements à priorité fixe par tâche.

Théorème 6 (Non-ordonnançabilité viable de l’ordonnancement FTP)

Un ensemble de tâches périodiques à échéances contraintes, non faisable en ordonnancement à priorité fixe par tâche, le demeure avec des échéances relatives plus courtes.

6. Minimisation du nombre de tâches

Preuve En préalable, rappelons que DM étant un algorithme d’ordonnancement optimal, être

ordonnançable sous une assignation Φ respectant l’ordre des priorités selon DM est équivalent à être faisable en assignation de priorité fixe par tâche.

Soit un ensembleS non ordonnançable sous Φ, alors il existe au moins une tâche τk dont le

temps de réponse est supérieur à son échéance :

∃τk | Rk> Dk (6.2)

Supposons maintenant que nous réduisions l’échéance Dkde τk, alors deux cas se présentent.

Dans le premier cas, Dp+1< Dk′ < Dk où Dp+1 est l’échéance de la tâche de priorité direc-

tement supérieure à celle de τk si une telle tâche existe et Dk la nouvelle échéance de τk dans

S devenu S′. Alors, l’équation (6.2) tient toujours et S reste non ordonnançable. Φ correspond

toujours à une assignation de priorité selon DM. En conséquence,S′ne peut être faisable puisque

DM est optimal.

Dans le second cas, soit Dk′′ < Dp+1 < Dk où Dk′′ est la nouvelle échéance de τk dans

S devenu S′′. Alors l’équation (6.2) tient toujours. S′′ reste non ordonnançable mais Φ ne

correspond plus à une assignation de priorité respectant DM (c’est-à-dire que les priorités ne sont plus ordonnées selon les échéances décroissantes).

S′′ serait-il toujours non ordonnançable sous une assignation Φ qui correspondrait à l’ordre

des priorités défini par DM ?

Par construction

Nous savons que S n’est pas ordonnançable sous Φ. DM étant optimal, S n’est pas non plus

ordonnançable sous Φ′ donc ∃τx ∈ S | Rx > Dx. Réduisons maintenant l’échéance de τk à Dk′′

dansS devenu S′′′. L’équation Rx> Dx reste vraie puisque le pire temps de réponse d’une tâche

est insensible aux modifications des échéances. Conséquemment, S′′ est non ordonnançable sous

Φ qui respecte DM. S′′ n’est donc pas faisable en assignation de priorité fixe par tâche. CQFD

6.2.2 Assignation de priorité fixe par travail

Dans cette section, nous utilisons le test exact basé sur la demande processeur pour un ensemble de tâches ordonnancées sous EDF pour prouver la non-ordonnançabilité viable pour l’assignation de priorité fixe par travail. L’analyse de la demande processeur PDA repose sur la dbf présentée en chapitre 5.

Théorème 7 (Non-ordonnançabilité viable sous PDA)

Un ensemble de tâches jugé non ordonnançable par la demande processeur le demeure avec des échéances relatives plus courtes, des périodes plus courtes et des temps d’exécution plus longs.

Preuve Observer simplement dans l’équation (5.10) que la fonction dbf est croissante lorsque

Di diminue, Ti diminue et Ci augmente.