Algorithmes pour l'ordonnancement temps réel multiprocesseur

Maxime Chéramy, Pierre-Emmanuel Hladik, Anne-Marie Déplanche
2014 Journal Europeen des Systemes Automatises  
10 11 RÉSUMÉ. Cet article expose les principales politiques d'ordonnancement temps réel existantes 12 pour des architectures multiprocesseurs et homogènes. Cette présentation a pour but de gui-13 der le lecteur à travers la très grande profusion d'articles dans ce domaine et lui fournir les 14 principales clefs de compréhension des algorithmes. L'étude se focalise sur les approches dites 15 globales et hybrides et en montre leur très grande variété. 16 ABSTRACT. This article presents the main
more » ... al-time scheduling policies available to homogeneous 17 multiprocessor architectures. The objective of this study is to guide the reader through the va-18 riety of scientific publications in this domain and to give him the main keys for understanding 19 these algorithms. The article focuses on global and hybrid approaches and shows their consi-20 derable diversity. 21 MOTS-CLÉS : ordonnancement, multiprocesseur, temps réel, algorithmes. 22 23 24 25 26 DRAFT En matière d'ordonnancement temps réel multiprocesseur, un système est consti-65 tué d'un ensemble de tâches à exécuter sur un ensemble de processeurs. Une tâche 66 contrôle le flot d'exécution d'un programme. Les instructions exécutées forment ce 67 que l'on appelle un travail. Ainsi, si elle est récurrente, une tâche donne lieu à une 68 succession de travaux, appelés aussi instances de la tâche. Les travaux d'une applica-69 tion temps réel doivent respecter un certain nombre de contraintes temporelles. 70 Le modèle de tâches décrit ici a été initialement formulé par Liu et Layland (1973). 71 Ce modèle permet de traiter le cas de tâches périodiques et a été généralisé aux tâches 72 sporadiques (Mok, 1983 ; Leung, Whitehead, 1982). Un système temps réel τ est 73 constitué d'une ensemble fini de n tâches : τ = {τ 1 , ..., τ n }. Chaque tâche τ i est 74 constituée d'une suite infinie de travaux notée {τ i,1 , τ i,2 , ...} où τ i,j est le jème travail 75 de la tâche τ i . Une tâche τ i périodique ou sporadique est caractérisée par le triplet 76 (C i , T i , D i ) avec C i la durée d'exécution dans le pire cas (Worst-Case Execution 77 Time, WCET) de chaque travail de la tâche τ i ; sa période d'activation T i ou la durée 78 minimale entre deux activations successives dans le cas de tâches sporadiques ; son 79 échéance relative ou délai critique D i , c'est-à-dire la durée entre le réveil d'un tra-80 vail et son échéance (un travail τ i,j qui s'active à l'instant a i,j doit se terminer avant 81 l'instant d i,j = a i,j + D i ). Une tâche est dite à échéance implicite si D i = T i et un 82 système synchrone si toutes les tâches ont leur première activation à la même date. 83 La laxité d'un travail τ i,j est la marge temporelle qu'il lui resterait par rapport 84 à son échéance absolue, si à l'instant t il était exécuté pendant sa durée d'exécution 85 restante, soit L i,j (t)=d i,j − t − c i,j (t) avec c i,j (t) le temps d'exécution restant de 86 τ i,j à l'instant t. Lorsqu'un travail devient à laxité nulle, cela signifie que s'il n'est pas 87 immédiatement exécuté, il ne pourra pas respecter son échéance. 88 Le taux d'utilisation d'une tâche correspond à la fraction de temps que la tâche 89 consomme sur un processeur pour s'exécuter, u i = Ci /Ti. Cette grandeur est très uti-90 lisée dans les tests d'ordonnançabilité, ainsi que la somme totale des taux d'uti-91 lisation, u sum = n i=1 u i ou encore le plus grand taux d'utilisation du système, 92 u max = max{u 1 , ..., u n }. 93 Dans la suite de cet article, nous nous limitons à des systèmes pour lesquels l'archi-94 tecture matérielle est constituée d'un ensemble P = {P 1 , ..., P m } de m processeurs 95 identiques et pour lesquels les tâches sont indépendantes, c'est-à-dire qu'il n'y a 96 pas de synchronisation entre elles, et sans suspension, c'est-à-dire que pendant son 97 exécution, la tâche n'invoque aucune opération pouvant la conduire à se suspendre et 98 à libérer ainsi le processeur. Nous supposons aussi que le coût temporel d'une pré-99 emption est nul. Les échéances des tâches sont par défaut implicites dans ce qui suit. 100 De nombreux travaux ont été étendus au cas des échéances contraintes ou arbitraires, 101 mais pour des questions de place nous n'abordons pas ces distinctions. 102 157 Baruah, 2008). 158 3. Classification des politiques d'ordonnancement multiprocesseur 159 L'éclairage que nous souhaitons donner à cette présentation portant sur les algo- 160
doi:10.3166/jesa.48.613-639 fatcat:5euqsdug7reyvbz2jr4jia7h4u