Rate-monotonic Scheduling

Rate-monotonic Scheduling

Rate-monotonic scheduling

Algorithmes d'ordonnancement

EDF • Rate-monotonic • Round-robin

LIFO • FIFO

Le rate-monotonic scheduling est un algorithme d'ordonnancement temps réel en ligne à priorité constante. Il attribue la priorité la plus forte à la tâche qui possède la plus petite période. RMS est optimal dans le cadre d'un système de tâches périodiques, synchrones, indépendantes et à échéance sur requête avec un ordonnanceur préemptif. De ce fait, il n'est généralement utilisé que pour ordonnancer des tâches vérifiant ces propriétés.

Sommaire

Historique

Cet algorithme a été proposé la première fois dans un papier publié par Liu et Layland[1].

Outre l'algorithme Rate Monotonic, ce papier décrit une modélisation des tâches basée sur un triplet (Ci, Di, Ti), ainsi qu'une méthode de calcul des pires temps de réponses pour des systèmes de tâches à échéance inférieure ou égale à la période.

Ce papier est actuellement considéré comme étant une base de l'ordonnancement temps-réel.

Tâche

Les tâches (ou thread en anglais) sont les entités manipulées par Rate Monotonic. Chaque tâche est modélisée par un quadruplet (ri, Ci, Di, Ti), où :

  • ri correspond à la date réveil de la tâche ;
  • Ci correspond au pire temps d'exécution de la tâche ;
  • Di correspond à l'échéance relative de la tâche ;
  • Ti correspond à la période de la tâche.

Toutefois, Rate Monotonic n'étant optimal que dans un contexte de tâches simultanées (i.e. la date de réveil de chaque tâche est nulle) et à échéance sur requête (i.e. Di = Ti), il n'est pas rare de ne modéliser les tâches que par un doublet (Ci, Ti).

Test d'ordonnançabilité

Conditions nécessaires et suffisantes

Afin de valider un système de tâches ordonnancé par Rate Monotonic, deux moyens sont offerts :

  • calculer le temps de réponse de chaque tâche, et de vérifier que toutes les tâches respectent leurs échéances ;
  • réaliser une simulation sur un intervalle allant de 0 jusqu'au PPCM des périodes.

Condition suffisante

Il existe également une condition suffisante portant sur la charge processeur U. Son test d'acceptabilité pour un système composé de n tâches, qui peut être réalisé hors ligne, nous est donné par la formule suivante :

U = \sum_{i=1}^{n} C_i / T_i \leq n(\sqrt[n]{2} - 1)

Par exemple, la charge limite pour laquelle ce critère est valable pour n = 2 est U = 0.8284.

Et quand le nombre de tâches tend vers l'infini :

\lim_{n \rightarrow \infty} n(\sqrt[n]{2} - 1) = \ln 2 \approx 0.693147\ldots

Ainsi, on estime dans le cas général qu'un RMS peut respecter toutes les échéances si l'utilisation du processeur est inférieure ou égale à 69,3 %. Les 30,7 % restants peuvent être dédiés à des tâches de basse priorité et non temps-réel.

Cependant, cette condition est suffisante mais pas nécessaire. Il est tout à fait possible qu'un système de tâche totalisant une charge de 100 % soit ordonnançable, alors qu'un autre système de tâches n'ayant qu'une charge globale de 80 % ne le soit pas. Tout dépend des caractéristiques du système de tâches.

Validité des tests d'ordonnançabilité

La condition suffisante n'est valable que dans le cas où l'algorithme Rate Monotonic est optimal.

La simulation n'est également valable que dans le cas où l'algorithme est optimal. Toutefois, il est possible de le rendre valide à d'autre cas en étendant la période de simulation.

Le calcul du pire temps de réponse reste valable quelle que soit la situation.

Cas plus généraux

Deadline Monotonic

L'algorithme deadline monotonic est également optimal dans une situation dans laquelle les périodes et les deadlines sont identiques, dans le fait que les algorithmes sont alors identiques, et de plus, le DMS est optimal quand les deadlines sont inférieures aux périodes.

Algorithme d'Audsley

Dans le cadre plus général de tâches indépendantes, périodiques, concrètes non simultanées et à échéance arbitraire, l'algorithme d'Audsley fournit une méthode optimale d'ordonnancement.

Notes et références

  1. C.L. Liu & J.W. Layland, "Scheduling algorithms for multiprogramming in a hard real-time environment", Journal of the Association for Computing Machinery 20 (1973), no. 1, p. 46-61.

Voir aussi

Articles connexes

Liens externes

Ce document provient de « Rate-monotonic scheduling ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Rate-monotonic Scheduling de Wikipédia en français (auteurs)

Игры ⚽ Нужно решить контрольную?

Regardez d'autres dictionnaires:

  • Rate Monotonic Scheduling — (RMS) ist ein Prioritätsscheduling Verfahren für unterbrechbare, periodische Jobs. Es wird häufig in Echtzeit Systemen eingesetzt. Die Prioritäten werden statisch nach der Periodendauer eines Jobs festgelegt: je kürzer die Periodendauer eines… …   Deutsch Wikipedia

  • Rate-monotonic scheduling — In computer science, rate monotonic scheduling [citation|first1=C. L.|last1=Liu|authorlink1=Chung Laung Liu|first2=J.|last2=Layland|title=Scheduling algorithms for multiprogramming in a hard real time environment|journal=Journal of the ACM|volume …   Wikipedia

  • Rate-monotonic scheduling — L ordonnancement à taux monotone (en anglais, rate monotonic scheduling) est un algorithme d ordonnancement temps réel en ligne à priorité constante. Il attribue la priorité la plus forte à la tâche qui possède la plus petite période. RMS est… …   Wikipédia en Français

  • Deadline Monotonic Scheduling — (DMS) bezeichnet in der Informatik ein Schedulingverfahren für harte Echtzeitsysteme, das zur Verwaltung von Prozessen fester Prioritäten dient. Unter den Schedulingverfahren mit festen Prioritäten ist es für beliebige Deadlines optimal.… …   Deutsch Wikipedia

  • Rate Monotonique — Rate monotonic scheduling Algorithmes d ordonnancement EDF • Rate monotonic • Round robin LIFO • FIFO Le rate monotonic scheduling est un algorithme d ordonnancement …   Wikipédia en Français

  • Scheduling (Informatik) — Ein Prozess Scheduler (Scheduler = Steuerprogramm) ist eine Arbitrationslogik, der die zeitliche Ausführung mehrerer Prozesse in Betriebssystemen regelt. Prozess Scheduler kann man grob in unterbrechende (preemptive) und nicht unterbrechende (non …   Deutsch Wikipedia

  • Scheduling algorithm — In computer science, a scheduling algorithm is the method by which threads, processes or data flows are given access to system resources (e.g. processor time, communications bandwidth). This is usually done to load balance a system effectively or …   Wikipedia

  • Earliest deadline first scheduling — Earliest deadline first (EDF) scheduling is a dynamic scheduling algorithm used in real time operating systems. It places processes in a priority queue. Whenever a scheduling event occurs (task finishes, new task released, etc.) the queue will be …   Wikipedia

  • Least slack time scheduling — Least Slack Time (LST) scheduling is a scheduling algorithm. It assigns priority based on the slack time of a process. Slack time is the amount of time left after a job if the job was started now. This algorithm is also known as Least Laxity… …   Wikipedia

  • Earliest Deadline First Scheduling — Pour les articles homonymes, voir EDF (homonymie). Algorithmes d ordonnancement EDF • Rate monotonic …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”