previous up next top index
Précédent : Analyse des ordonnancements à priorités Remonter : Algorithmes d'ordonnancement Suivant : Actions industrielles


Comparaison des ordonnancements préemptifs statique et dynamique

Participants : Jean-François Hermant, Laurent Leboucher (CNET), Nicolas Rivierre Il existe deux familles principales d'algorithmes d'ordonnancement temps réel, la première s'appuyant sur des priorités fixes et la seconde sur des priorités dynamiques de type échéance. Ces familles n'ont jamais été vraiment comparées l'une à l'autre, si ce n'est en termes de mise en oeuvre. Par contre, on sait peu de choses sur les rapports existant entre les complexités des conditions de faisabilité d'une part, les efficacités des algorithmes d'autre part. Notre but est de comparer ces deux familles dans le cas des systèmes centralisés à préemption, en termes d'efficacité des algorithmes et en terme de complexité des conditions de faisabilité associées. Dans un premier temps, nous introduisons un cadre général basé sur une représentation de l'ordonnancement temps réel préemptif sous forme de structure algébrique ainsi que sur une évaluation précise du nombre d'opérations élémentaires contenues dans les conditions de faisabilité. Ensuite, nous appliquons la comparaison pour différents types de trafics. Il apparaît que plus les échéances des tâches sont grandes face aux périodes et plus les tâches ont des paramètres homogènes, plus la domination théorique des algorithmes à priorités dynamiques s'estompe (resp. s'accentue). De plus, il apparaît que la complexité légèrement plus faible des conditions de faisabilité basées sur des priorités fixes ne peut être considérée comme un facteur déterminant.

Il semble donc être intéressant, en fonction du problème d'ordonnancement considéré (allant du petit système embarqué jusqu'au grand système réparti) de faire intervenir ces mesures d'efficacité et de complexité pour choisir l'algorithme d'ordonnancement le mieux adapté.

Cette action est menée conjointement avec le CNET et donne lieu à une coopération (cf. §5.1) pour étendre ces résultats préliminaires au cas des systèmes distribués.