• Aucun résultat trouvé

4.5

Annonce du plan

Nous avons abordé dans ce chapitre le prototype développé au cours de notre travail et présenté d’un point de vue pratique les fonctionnalités implantées. Ce prototype recouvre les techniques de regroupement de tâches exposées à travers le plan suivant et fait office de banc d’essai pour les éprouver.

4.5.1 Partie 2 : Regroupement de tâches indépendantes en monoprocesseur

La partie 2 constitue la base du travail sur le regroupement de tâches. Nous y présentons en premier lieu le modèle de regroupement de tâches indépendantes en monoprocesseur. Ainsi, nous présentons comment les tâches sont regroupées et quel est l’impact de ce regroupement sur l’ensemble de tâches, en particulier sur son ordonnançabilité. Sous certaines conditions, il est possible de regrouper des tâches sans porter atteinte à l’ordonnançabilité de l’ensemble visé. Sinon, il est nécessaire de vérifier à nouveau l’ordonnançabilité. À cet effet, nous rappelons des tests d’ordonnançabilité de la littérature pour les algorithmes d’ordonnancement à priorité fixe par tâche (DM) et à priorité fixe par travail (EDF).

Nous décrivons ensuite la complexité du regroupement de tâche. Le regroupement de tâches est un problème difficile, raison pour laquelle nous nous orientons vers une solution approchée dite heuristique. Cette heuristique est de type best-first, c’est-à-dire qu’elle utilise un critère de décision pour décider localement vers quelle solution orienter la recherche. Ce critère de décision est également appelé fonction de coût. La méthode de regroupement implantée tente de générer un ensemble de tâches minimal à partir d’un ensemble initial, d’un test d’ordonnançabilité et d’une fonction de coût. Les fonctions de coût disponibles sont détaillées dans le chapitre 6.

De nombreux problèmes d’optimisation sont formulés au moyen de l’optimisation linéaire en nombre entier (OLNE). À titre de comparaison, nous formulons en OLNE le problème de regroupement de tâches avec des tests exacts pour DM (RTA) et EDF (PDA) dans la section 6.4.

Les expérimentations mettent en valeur l’efficacité du regroupement en DM et en EDF. Nous les avons produites en générant des tâches aléatoirement à l’aide du prototype. La procédure de génération de tâches et les méthodes implantées pour y parvenir sont décrites dans la section 4.2 du présent chapitre. Les paramètres choisis sont indiqués dans la section des expérimentations. Les différents résultats ayant trait au regroupement de tâches indépendantes en monoprocesseur ont été publiés dans les travaux [20, 18, 19].

4.5.2 Partie 3 : Regroupement de tâches avec contraintes de précédence en monoprocesseur

En partie 3, nous étudions l’évolution du regroupement de tâches lorsque des contraintes de précédence sont spécifiées entre les tâches. Tout d’abord, l’ajout des contraintes de précédence dans le modèle des tâches modifie les conditions de regroupement. En particulier, il apparaît que certains regroupements ne sont pas faisables au regard de la topologie du graphe. Nous présentons ensuite une méthode de la littérature qui permet de vérifier l’ordonnançabilité d’un ensemble sous contraintes de précédence à l’aide des tests destinés aux tâches indépendantes. Il est alors possible d’adapter l’heuristique de la partie relative aux tâches indépendantes en ne considérant que les regroupements qui respectent l’ordre des contraintes de précédence. Nous présentons finalement des expérimentations qui mettent en valeur l’efficacité du regroupement en tâches dépendantes, notamment en variant la densité des contraintes de précédence ainsi que la profondeur maximale du graphe de tâches.

4. Prototype

4.5.3 Partie 4 : Regroupement de tâches avec contraintes de précédence en multiprocesseur

Les architectures modernes sont en grande majorité dotées de plusieurs unités de calcul que nous nommerons multiprocesseur par simplification. En premier lieu, nous présentons les différentes stratégies d’ordonnancement des tâches sur des architectures multiprocesseur. Deuxiè- mement, nous décrivons une solution de regroupement de tâches pour la stratégie d’ordonnance- ment partitionné. Celle-ci se base sur trois principes : le partitionnement de tâches sur plusieurs unités de calcul, l’encodage des contraintes de précédence pour vérifier l’ordonnançabilité et le regroupement de tâches sur chacune des partitions. Enfin, nous expérimentons les performances du regroupement de tâches dépendantes en multiprocesseur.

Dans ce chapitre, nous avons présenté le prototype développé pour expérimenter nos tech- niques de regroupement de tâches ainsi que le fil conducteur de ce manuscrit de thèse. Dans le chapitre suivant nous traitons des premiers travaux réalisés qui concernent le regroupement de tâches indépendantes en contexte monoprocesseur.

Deuxième partie

Regroupement de tâches

indépendantes en contexte

Chapitre

5

Modèle et ordonnançabilité d’un

regroupement

En premier lieu dans ce chapitre, nous définissons les modèles utilisés pour le regroupement de tâches en monoprocesseur. Il s’agit de choisir les paramètres de manière à ce que les tâches continuent de respecter leur échéance et leur comportement initiaux à l’intérieur du regroupe- ment. Nous justifions les choix effectués pour chacun des paramètres.

Dans un second temps, nous présentons une partie de l’état de l’art de l’ordonnancement monoprocesseur relatif aux ordonnancements à priorité fixe par tâche et à priorité fixe par tra- vail. En particulier, nous passons en revue les algorithmes d’ordonnancement utilisés dans le cadre du regroupement de tâches ainsi que les tests d’ordonnançabilité associés et leurs com- plexités. Nous étudions ensuite l’impact du regroupement sur l’ordonnançabilité d’un ensemble de tâches dans les conditions énoncées. En effet, quel que soit l’algorithme d’ordonnancement choisi, l’ordonnançabilité de l’ensemble de tâches doit être préservée après regroupement. Finale- ment, nous examinons les conditions dans lesquelles il n’est pas nécessaire de vérifier de nouveau l’ordonnançabilité d’un ensemble de tâches après regroupement.