Ordonnancement temps réel hors-ligne optimal à l’aide de réseaux de Petri en environnement monoprocesseur et multiprocesseur - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 1999

Optimal off-line exhaustive scheduling using Petri nets in uniprocessor and multiprocessor architectures

Ordonnancement temps réel hors-ligne optimal à l’aide de réseaux de Petri en environnement monoprocesseur et multiprocesseur

Emmanuel Grolleau

Résumé

As real-time applications are subject to temporal constraints, their implementation requires not only a semantic validation but also a temporal validation, that is, a study of the scheduling of tasks on one or more processors. As long as the tasks are completely preemptible, there are polynomial scheduling algorithms that can schedule systems of periodic tasks. However, when tasks share critical resources or have non-preemptible parts, the scheduling problem becomes NP-hard. Several optimizations and approximate algorithms have been implemented to address this issue, but they do not always behave desirably. Moreover, there is no analytical method (i.e., outside of offline simulation of task scheduling) to temporally validate such systems. The approach adopted in this thesis is to use an exhaustive scheduling approach. The tasks of a system are modeled by a Petri net (PN) whose language represents all feasible schedules. Time is introduced not through timing (in the temporal or timed sense of the PN) but by operating with the maximum firing rule of a classic PN. Thus, all schedules are obtained by constructing the PN marking graph. One of the first concerns in obtaining this graph is determining its depth, that is, how deep to go for the obtained sequences to be cyclic. In cases where tasks start simultaneously, the depth is trivial to calculate. Otherwise, we have shown that depth is bounded for any scheduling sequence. This fundamental result for scheduling theory allows most offline techniques to be applied to cases where periodic tasks do not all start at the same time, while these techniques were previously limited to simultaneous periodic tasks. Once the marking graph is constructed, optimal scheduling sequences based on certain criteria can be extracted in linear time relative to the size of the graph using shortest path search algorithms. Each criterion to be optimized reduces the size of the graph, on which other optimization criteria can be applied, until a set of sequences is obtained that are considered satisfactory. As this approach is exponential in time and space, much of the research work consists of stopping the construction of certain branches of the marking graph leading to uninteresting scheduling sequences as early as possible. To this end, we use techniques that limit the number of task context switches by imposing successor constraints on transitions: this has the effect of removing mesh from the graph, retaining only the outer edges. We also use absolute constraints on the desired response times for tasks. The study was conducted in both single-processor and multi-processor contexts.
Les applications temps réel étant soumises à des contraintes temporelles, leur implantation nécessite, en plus d’une validation sémantique, une validation temporelle, c’est à dire une étude de l’ordonnancement des tâches sur le ou les processeurs. Tant que les tâches sont complètement préemptibles, il existe des algorithmes d’ordonnancement polynomiaux permettant d’ordonnancer des systèmes de tâches périodiques. Lorsque les tâches partagent des ressources critiques ou possèdent des parties non préemptibles, le problème de l’ordonnancement devient NP difficile. Un certain nombre d’optimisations et d’algorithmes approchés ont été mis en oeuvre pour remédier à ce problème, mais ils n’ont pas toujours un comportement désirable. De plus, il n’existe pas de moyen analytique (i.e. hors de la simulation dite hors-ligne de l’ordonnancement des tâches) de valider temporellement de tels systèmes. La démarche adoptée dans cette thèse consiste à utiliser une approche exhaustive de l’ordonnancement. Les tâches d’un système sont modélisées par un réseau de Petri (RdP) dont le langage est l’ensemble de tous les ordonnancements possibles des tâches. La notion de temps y est introduite non pas par une temporisation (au sens temporel ou temporisé des RdP) mais par un fonctionnement avec la règle de tir maximal d’un RdP classique. Tous les ordonnancements sont donc obtenus par construction du graphe des marquages du RdP. Un des premiers problèmes pour l’obtention de ce graphe est de déterminer sa profondeur, c’est à dire jusqu’à quelle profondeur aller pour que les séquences obtenues soient cycliques. Dans le cas où les tâches démarrent au même instant, la profondeur est triviale à calculer. Dans le cas contraire, nous avons montré que la profondeur était bornée pour toute séquence d’ordonnancement. Ce résultat fondamental pour la théorie de l’ordonnancement permet d’appliquer la plupart des techniques hors-lignes au cas où les tâches périodiques ne démarrent pas toutes au même instant, alors que ces techniques se limitaient jusqu’ici au cas de tâches périodiques simultanées. Une fois le graphe des marquages construit, on peut extraire, en un temps linéaire de la taille du graphe, des séquences d’ordonnancement optimales suivant certains critères à l’aide d’algorithmes de recherche de plus courts chemins. Chaque critère à optimiser réduit la taille du graphe, sur lequel on peut appliquer d’autres critères d’optimisation, jusqu’à obtenir un ensemble de séquences que l’on juge satisfaisantes. Cette approche étant exponentielle en temps et en espace, une grande partie du travail de recherche consiste à stopper au plus tôt la construction de certaines branches du graphe des marquages menant à des séquences d’ordonnancement peu intéressantes. Nous utilisons à cette fin des techniques permettant de limiter le nombre de changements de contexte des tâches à l’aide de contraintes de successeur sur les transitions : cela a pour effet de supprimer des maillages du graphe pour n’en conserver que les arêtes externes. Nous utilisons aussi des contraintes absolues sur les temps de réponse désirés pour les tâches. L’étude a été menée dans les contextes monoprocesseur et multiprocesseur.
Fichier principal
Vignette du fichier
these.pdf (3 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

tel-04357588 , version 1 (21-12-2023)

Licence

Paternité - Pas de modifications

Identifiants

  • HAL Id : tel-04357588 , version 1

Citer

Emmanuel Grolleau. Ordonnancement temps réel hors-ligne optimal à l’aide de réseaux de Petri en environnement monoprocesseur et multiprocesseur. Informatique [cs]. Université de Poitiers, 1999. Français. ⟨NNT : ⟩. ⟨tel-04357588⟩
25 Consultations
28 Téléchargements

Partager

Gmail Facebook X LinkedIn More