• Aucun résultat trouvé

Assignation de priorité fixe par tâche

Dans le document The DART-Europe E-theses Portal (Page 56-59)

Minimisation du nombre de tâches

Cas 2 : S est ordonnançable

6.2 Non-ordonnançabilité viable

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éanceDkdeτk, alors deux cas se présentent.

Dans le premier cas, Dp+1< Dk < Dk 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,Sne peut être faisable puisque DM est optimal.

Dans le second cas, soit Dk′′ < Dp+1 < Dk 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 devenuS′′′. L’équationRx> 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.

6.3 Heuristique

Nous avons montré que notre problème est au moins aussi difficile qu’un problème co-NP-complet. De plus, nos expérimentations ont montré qu’un parcours exhaustif de l’espace des solutions n’était pas faisable. C’est pourquoi nous nous intéressons dans cette section à l’utilisa-tion de méthodes approchées : les heuristiques.

6.3. Heuristique 6.3.1 Méthodes heuristiques

La complexité de certains problèmes est telle qui n’est parfois pas possible d’obtenir des solutions exactes en un temps raisonnable. Les méthodes heuristiques sont des algorithmes ap-prochés qui apportent des solutions non optimales mais proches de celles qui sont exactes en un temps réduit.

Heuristiques de type best-first

Parmi ces algorithmes approchés, les heuristiques best-first (le meilleur en premier en an-glais) avancent dans l’espace des solutions en ne choisissant que les solutions qui apparaissent localement les meilleures. Évidemment, choisir successivement des optimums locaux ne garantit pas d’atteindre nécessairement l’optimum global mais permet d’obtenir de bonnes performances.

Les optimums locaux sont sélectionnés sur certains critères à travers une fonction d’évaluation ou fonction de coût. Par exemple, l’algorithme A* est un algorithme de recherche de chemin dans un graphe de type best-first qui estime localement le nœud se rapprochant le plus de la destination à atteindre. Lorsque le choix effectué localement est définitif, c’est-à-dire qu’il n’est pas possible de revenir en arrière dans l’espace de solution, il est question d’algorithmesgloutons (greedy en anglais).

Le choix de l’heuristique n’est pas un élément central dans ce travail. Notre objectif est de proposer et d’éprouver une méthode approchée efficace. Le principe élémentaire de notre méthode est l’utilisation d’une heuristique basée sur une fonction de coût. Comme expliqué ci-dessous, d’autres heuristiques reposent sur ce principe et pourraient être utilisées en lieu et place de l’algorithme glouton de type best-first que nous exposons.

6.3.2 Principe

Nous partons d’un ensemble initial de tâches où chaque tâche est considérée comme un re-groupement à un élément puis nous tentons successivement de regrouper de plus en plus de regroupements ensemble de manière à minimiser la cardinalité totale. À chaque étape, nous ten-tons de regrouper un regroupement avec chacun des autres regroupements. Plusieurs candidats respectant les contraintes de validité d’un regroupement se présentent, il est donc nécessaire de choisir le candidat le plus prometteur. Une fonction de coût estime alors localement le candidat qui est le plus à même de conduire au meilleur regroupement. La figure 6.1 présente un exemple du principe de regroupement de l’heuristique. Nous partons d’un ensemble ordonnançable initial de 4 tâches A, B, C et D. Nous générons toutes les partitions possibles de 3 tâches de l’ensemble initial au niveau du dessous. Parmi celles-ci, l’ensemble {{A},{BC},{D}} n’est pas ordonnan-çable. Grâce à la viabilité de la non-ordonnançabilité présentée en section 6.2, nous savons qu’il n’est pas nécessaire de parcourir les partitions générées à partir de cet ensemble puisqu’elles ne pourront pas aboutir à des ensembles ordonnançables. Toutes les autres partitions représentées de ce niveau de l’arbre représentent des ensembles ordonnançables. Elles constituent donc toutes des solutions valables de regroupement mais nous ne souhaitons en parcourir qu’une seule. Nous choisirons de parcourir la solution locale la plus prometteuse selon la fonction de coût sélec-tionnée. C’est ici la partition {{A},{BC},{D}} qui est élue. Nous poursuivons la génération d’ensembles à deux tâches à partir de cette dernière.

Remarque 6.3.1 Cette méthode de génération récursive génère de nombreux doublons. Nous observons par exemple que la partition {{A},{BDC}} jugée non ordonnançable au niveau le plus bas de l’arbre est une partition fille possible de {{A},{BC},{D}}, déjà considérée non ordonnançable plus tôt. D’après la non-ordonnançabilité viable, il n’était pas nécessaire d’évaluer cette partition. Néanmoins, l’heuristique n’explore qu’une partition par niveau, il n’est donc pas possible de parcourir deux fois la même partition.

6. Minimisation du nombre de tâches

Fig.6.1 : Illustration du principe de l’heuristique : regroupements successifs

Remarque 6.3.2 Les résultats liés à la non-ordonnançabilité (cf. section 6.2) ne sont pas utilisés directement dans l’heuristique. En effet, dans l’algorithme présenté, une seule solution par étage de l’arbre est explorée et nous ne considérons que les candidats ordonnançables. Néanmoins, dans le cadre de méthode de recherche exacte de type séparation et évaluation [68] (branch-and-bound en anglais), ces résultats pourraient être utilisés comme des conditions d’élagages, en vue de diminuer l’espace des solutions.

6.3.3 Fonction de coût

Dans le document The DART-Europe E-theses Portal (Page 56-59)