Ordonnancement de tâches temps réel dures préemptives séquentielles ou parallèles sur plateformes multiprocesseur identique
Auteur / Autrice : | Pierre Courbin |
Direction : | Laurent George |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 13/12/2013 |
Etablissement(s) : | Paris Est |
Ecole(s) doctorale(s) : | École doctorale Mathématiques, Sciences et Technologies de l'Information et de la Communication (Champs-sur-Marne, Seine-et-Marne ; 2010-2015) |
Partenaire(s) de recherche : | Laboratoire : Laboratoire Images, Signaux et Systèmes Intelligents (Créteil) - LISSI |
Jury : | Président / Présidente : Yves Sorel |
Examinateurs / Examinatrices : Laurent George, Joël Goossens | |
Rapporteurs / Rapporteuses : Alan Burns, Pascal Richard |
Mots clés
Résumé
L'ordonnancement de tâches sur un système temps réel dur correspond à trouver une façon de choisir, à chaque instant, quelle tâche doit être exécutée sur le processeur pour que chacune ait le temps de terminer son travail avant son échéance. Ce problème, dans le contexte monoprocesseur, est déjà bien étudié et permet des applications sur des systèmes en production (aérospatiale, bourse etc.). Aujourd'hui, les plateformes multiprocesseur se sont généralisées et ont amené de nombreuses questions telles que l'utilisation efficace de tous les processeurs. Dans cette thèse, nous explorons les approches existantes pour résoudre ce problème. Nous étudions tout d'abord l'approche par partitionnement qui consiste à utiliser les recherches existantes en ramenant ce problème à plusieurs systèmes monoprocesseur. Ici, nous proposons un algorithme générique dont les paramètres sont adaptables en fonction de l'objectif à atteindre. Nous étudions ensuite l'approche par semi-partitionnement qui permet la migration d'un nombre restreint de tâches. Nous proposons une solution avec des migrations restreintes qui pourrait être assez simplement implémentée sur des systèmes concrets. Nous proposons ensuite une solution avec des migrations non restreintes qui offre de meilleurs résultats mais est plus difficile à implémenter. Enfin, les programmeurs utilisent de plus en plus le concept de tâches parallèles qui peuvent utiliser plusieurs processeurs en même temps. Ces tâches sont encore peu étudiées et nous proposons donc un nouveau modèle pour les représenter. Nous étudions les ordonnanceurs possibles et nous définissons une façon de garantir l'ordonnançabilité de ces tâches pour deux d'entre eux