Spelling suggestions: "subject:"andependent tasks"" "subject:"depependent tasks""
1 |
Ordonnancement temps réel préemptif multiprocesseur avec prise en compte du coût du système d’exploitation / Multiprocessor preemptive real-time scheduling taking into account the operating system costNdoye, Falou 03 April 2014 (has links)
Dans cette thèse nous étudions le problème d'ordonnancement temps réel multiprocesseur préemptif avec prise en compte du coût exact du système d'exploitation. Ce coût est formé de deux parties : une partie facile à déterminer, correspondant au coût de l'ordonnanceur et une partie difficile à déterminer, correspondant au coût de la préemption. Cette difficulté est due au fait qu'une préemption peut en engendrer une autre, pouvant ainsi créer un phénomène d'avalanche. Dans un premier temps, nous avons étudié l'ordonnancement hors ligne multiprocesseur de tâches indépendantes avec prise en compte du coût exact de la préemption et proposé une analyse d'ordonnançabilité fondée sur une heuristique d'ordonnancement multiprocesseur. Cette heuristique utilise la stratégie d'ordonnancement multiprocesseur par partitionnement. Pour prendre en compte le coût exact de la préemption sur chaque processeur nous avons utilisé la condition d'ordonnançabilité proposée par Meumeu et Sorel. Cette condition d'ordonnançabilité pour des tâches à priorités fixes, est basée sur une opération binaire d'ordonnancement qui permet de compter le nombre exact de préemption et d'ajouter leur coût dans l'analyse d'ordonnançabilité des tâches. L'heuristique proposée permet de maximiser le facteur d'utilisation restant afin de répartir équitablement les tâches sur les processeurs et de réduire leur temps de réponse. Elle produit une table d'ordonnancement hors ligne. Dans un second temps, nous avons étudié l'ordonnancement hors ligne multiprocesseur de tâches dépendantes avec prise en compte du coût exact de la préemption. Puisque la condition d'ordonnançabilité utilisée pour ordonnancer les tâches indépendantes ne s'applique qu'à des tâches à priorités fixes, elle ne permet pas de gérer les inversions de priorités que peuvent entraîner les tâches dépendantes. Nous avons donc proposé une nouvelle condition d'ordonnançabilité pour des tâches à priorités dynamiques. Elle prend en compte le coût exact de la préemption et les dépendances sans aucune perte de données. Ensuite en utilisant toujours la stratégie d'ordonnancement par partitionnement, nous avons proposé pour des tâches dépendantes une heuristique d'ordonnancement multiprocesseur qui réutilise cette nouvelle condition d'ordonnançabilité au niveau de chaque processeur. Cette heuristique d'ordonnancement prend en compte les coûts de communication inter-processeurs. Elle permet aussi de minimiser sur chaque processeur le makespan (temps total d'exécution) des tâches. Cette heuristique produit pour chaque processeur une table d'ordonnancement hors ligne contenant les dates de début et de fin de chaque tâches et de chaque commmunication inter-processeur. En supposant que nous avons une architecture multiprocesseur de type dirigée par le temps (Time-Triggered) pour laquelle tous les processeurs ont une référence de temps unique, nous avons proposé pour chacun des processeurs un ordonnanceur en ligne qui utilise la table d'ordonnancement produite lors de l'ordonnancement hors ligne. Cet ordonnanceur en ligne a l'avantage d'avoir un coût constant qui de plus est facile à déterminer de manière exacte. En effet il correspond uniquement au temps de lecture dans la table d'ordonnancement pour obtenir la tâche sélectionnée lors de l'analyse d'ordonnançabilité hors ligne, alors que dans les ordonnanceurs classiques en ligne ce coût correspond à mettre à jour la liste des tâches qui sont dans l'état prêt à l'exécution puis à sélectionner une tâche selon un algorithme, par exemple RM, DM, EDF, etc. Il varie donc avec le nombre de tâches prêtes à s'exécuter qui change d'une invocation à l'autre de l'ordonnanceur. C'est ce coût qui est utilisé dans les analyses d'ordonnançabilités évoquées ci-dessus. Un autre avantage est qu'il n'est pas nécessaire de synchroniser l'accès aux mémoires de données partagées par plusieurs tâches, car cette synchronisation a été déjà effectuée lors de l'analyse d'ordonnançabilité hors ligne. / In this thesis we studied the problem of multiprocessor preemptive real-time scheduling taking into account the exact cost of the operating system (OS). This cost is composed of two parts: a part easy to determine, corresponding to the scheduler cost and another part difficult to determine, corresponding to the preemption cost. This difficulty is due to the fact that a preemption can involve another one, being able to so create an avalanche phenomenon. First, we studied the off-line multiprocessor real-time scheduling of independent tasks taking into account the exact preemption cost. We proposed a schedulability analysis based on a multiprocessor scheduling heuristic. This heuristic uses the partitioned multiprocessor scheduling approach. In order to take into account the exact preemption cost on every processor we use the schedulability condition proposed by Meumeu and Sorel. This schedulability condition for fixed priorities tasks, is based on a binary scheduling operation which counts the exact number of preemptions and add their cost in the schedulability analysis. The proposed heuristic maximizes the remaining utilization factor to fairly distribute the tasks on processors and to reduce their response time. It produces an off-line scheduling table. Secondly, we studied the off-line multiprocessor real-time scheduling of dependent tasks taking into account the exact preemption cost. Because the schedulability condition used for scheduling independent tasks can be applied only to fixed priorities tasks, it does not allow to manage priorities inversions that are involved by dependent tasks. We proposed a new schedulability condition for dependent tasks which enables fixed and dynamic priorities. This schedulability condition takes into account the exact preemption cost and dependences between tasks without any loss of data. Always with the partitioned scheduling approach, we proposed for dependent tasks a multiprocessor scheduling heuristic which reuses, on every processor, the schedulability condition proposed previously. In addition, this scheduling heuristic takes into account the interprocessors communication costs. It also minimizes on every processor the makespan (total execution time of the tasks on all the processors). This heuristic produces for every processor an off-line scheduling table. Supposing that we have a time-triggered multiprocessor architecture such that all the processors have a unique time reference, we proposed for every processor an on-line scheduler which uses the scheduling table produced during the off-line schedulability analysis. This on-line scheduler has the advantage to have a constant cost that is easy to determine exactly.Indeed, this cost corresponds only to the time necessary to read in the scheduling table the task selected for execution. In the on-line classical scheduler, this cost corresponds to the time necessary to update the list of ready tasks in order to select a task, according to a given scheduling algorithm, for example RM, DM, EDF, etc. In this case, the cost for selecting a task varies with the number of ready tasks which changes from an invocation of the scheduler to another one. Another advantage of the proposed on-line scheduler is that it is not necessary to synchronize the access to the data shared by several tasks, because this synchronization was already done during the off-line schedulability analysis.
|
Page generated in 0.0838 seconds