Présentation

Article

1 - ARCHITECTURES DES APPLICATIONS TEMPS RÉEL

2 - PRINCIPAUX ALGORITHMES D’ORDONNANCEMENT

Article de référence | Réf : S8057 v1

Principaux algorithmes d’ordonnancement
Ordonnancement temps réel - Ordonnancement multiprocesseur

Auteur(s) : Pascal RICHARD, Emmanuel GROLLEAU, Michaël RICHARD, Frédéric RIDOUARD

Relu et validé le 14 sept. 2023

Pour explorer cet article
Télécharger l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !

Sommaire

Présentation

Version en anglais En anglais

RÉSUMÉ

Le simple fait d'ajouter un processeur supplémentaire à la plateforme augmente drastiquement la complexité des problèmes d'ordonnancement temps réel. C.L. Liu, fondateur de l'ordonnancement temps réel, a très tôt constaté que très peu de résultats connus en environnement monoprocesseur pouvaient être directement généralisés aux systèmes multiprocesseurs. Cet article présente les principaux résultats sur l'ordonnancement des systèmes multiprocesseurs.

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

ABSTRACT

Real-time scheduling - Multiprocessor scheduling

The simple act of adding an additional processor to the platform drastically increases the complexity of real-time scheduling problems. CL Liu, founder of the real-time scheduling realized, very early on, that very few known results in a uniprocessor environment could be directly generalized to multiprocessor systems. This article presents the main results on the scheduling of multiprocessor systems.

Auteur(s)

  • Pascal RICHARD : Professeur des universités en Informatique à l’université de Poitiers

  • Emmanuel GROLLEAU : Professeur des universités en Informatique à l’ISAE-ENSMA (Chasseneuil-du-Poitou)

  • Michaël RICHARD : Maître de conférences en Informatique à l’ISAE-ENSMA (Chasseneuil-du-Poitou)

  • Frédéric RIDOUARD : Maître de conférences en Informatique à l’université de Poitiers

INTRODUCTION

Depuis le début des années 2000, on perçoit un ralentissement de l’accroissement exponentiel (loi de Moore) des vitesses de calcul d’une génération de processeur à la suivante. Sur les ordinateurs personnels, l’accroissement en puissance de calcul est maintenu par un accroissement du nombre de cœurs de calcul sur une même puce. Ce phénomène peut être expliqué par la miniaturisation atteinte par les fondeurs de processeurs sur une technologie basée sur des transistors en silicium : pour une taille de transistors donnée, accélérer la vitesse de calcul a un coût quadratique en énergie. Or, la taille d’un transistor n’est aujourd’hui que de quelques atomes ; elle est donc de plus en plus difficile à diminuer, et les gains en fréquence des calculateurs se font alors de moins en moins sentir.

Lorsque les calculateurs sont embarqués sur un procédé (avion, automobile, train, satellite artificiel, etc.) contrôlé par un système, le compromis entre puissance de traitement et énergie consommée penche souvent en faveur de la limitation des fréquences de calcul des processeurs embarqués lorsque ceux-ci sont alimentés sur batterie, énergie ambiante ou en consommant du carburant. La diminution de la puissance des calculateurs est alors compensée par la multiplication de leur nombre pour une même puissance globale de calcul.

On peut naturellement envisager deux façons de multiplier les calculateurs : connecter plusieurs calculateurs par des réseaux de communication (on parle alors de systèmes répartis) ou bien mettre sur une même puce plusieurs cœurs de calculs (on parle alors de systèmes multiprocesseurs ou multicœurs lorsque les cœurs de calcul sont sur une même puce). Bien entendu, on peut associer les deux et avoir des réseaux de communication reliant des systèmes multicœurs.

Sur un système critique complexe, tel qu’un avion civil, le système de contrôle est constitué d’un système réparti de systèmes monoprocesseurs. L’architecture avionique de demain, et vraisemblablement celle des autres types systèmes embarqués complexes doit augmenter les ressources de calcul sans augmenter la complexité du réseau de communication déjà très complexe dans ces systèmes. Ainsi, l’architecture des systèmes critiques de demain sera constituée de systèmes répartis multicœurs.

Les systèmes embarqués critiques sont généralement soumis à des contraintes de temps : chaque fonctionnalité doit s’exécuter dans un intervalle de temps donné, malgré le fait que les ressources de calcul sont partagées entre plusieurs fonctionnalités. On parle alors de systèmes embarqués temps réel, qui doivent être non seulement valides fonctionnellement mais aussi temporellement.

L’objet de cet article est de présenter la problématique de la validation temporelle d’applications temps réel sur processeurs multicœurs. Il peut être considéré comme la suite de l’article [S 8 055v2] et de l’article [S 8 056].

L’avènement des systèmes multiprocesseurs dans les domaines des systèmes critiques pose de nombreux défis scientifiques et entre autres :

  • la validation temporelle, à travers l’étude de l’ordonnancement des traitements sur les cœurs de calcul, leurs migrations éventuelles, leurs placements, etc. ;

  • le calcul de pire durée d’exécution d’un traitement, en fonction des migrations éventuelles. Dans certains cas, de nombreuses migrations simultanées peuvent utiliser intensivement le réseau pour passer les données d’un cœur à un autre, et ainsi une migration peut au pire subir un délai très important. De même, sur certaines architectures avec caches hiérarchisés, la durée de déplacement des données en cache d’un cœur vers un autre dépend du placement des cœurs source et de la destination dans la hiérarchie de caches ;

  • le routage et l’optimisation de l’utilisation du réseau reliant les cœurs de calcul : on parle de NOC (Network On Chip).

  • Les accès simultanés à des ressources partagées (p.ex., mémoire) peuvent mener à une dégradation significative du temps d'exécution des programmes.

Cet article se focalise sur l’ordonnancement et la validation temporelle sur systèmes multicœurs. La problématique étant en elle-même complexe, l’aspect surcoût éventuel lié aux migrations est le plus souvent négligé dans les modèles utilisés. Cependant, il faut avoir conscience du fait que les migrations, surtout lorsqu’elles sont nombreuses et simultanées, n’ont dans la réalité pas un coût négligeable.

Cet article est réservé aux abonnés.
Il vous reste 95% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

KEYWORDS

survey   |   problems   |   solving technics   |   transport   |   energy   |   embedded systems   |   real-time systems   |   multiprocessor systems

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-s8057


Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(239 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Version en anglais En anglais

2. Principaux algorithmes d’ordonnancement

Le simple fait d’ajouter un processeur supplémentaire à la plateforme augmente drastiquement la complexité des problèmes d’ordonnancement temps réel. Dès 1969, C.L. Liu constatait que très peu de résultats connus en environnement monoprocesseur pouvaient être directement généralisés aux systèmes multiprocesseurs . Le premier algorithme optimal, c’est-à-dire d’ordonnancer des systèmes de tâches avec une utilisation totale égale à la capacité de la plateforme n’a été proposé qu’en 1993 . La définition d’algorithmes d’ordonnancement performants, de leurs tests associés, et qui soient capables d’exploiter pleinement la puissance des processeurs demeure un sujet de recherche en pleine expansion.

À des fins de clarté et de concision, nous nous limitons à la présentation de résultats sur les systèmes de processeurs identiques exécutant des tâches périodiques, indépendantes et à échéance implicite. L’ordonnancement de ces systèmes est le problème central de la théorie de l’ordonnancement multiprocesseur. De plus, il sera supposé dans toute la suite que les préemptions et les migrations, lorsqu’elles sont autorisées, sont effectuées avec des coûts négligeables.

Les approches développées pour ordonnancer les systèmes multiprocesseurs sont :

  • le partitionnement des tâches avant leur exécution, puis celles-ci sont ordonnancées localement sur chaque processeur ;

  • l’ordonnancement global autorisant la migration des tâches d’un processeur à un autre durant l’exécution des tâches ;

  • enfin, des méthodes hybrides combinant les deux méthodes précédentes ont été aussi proposées...

Cet article est réservé aux abonnés.
Il vous reste 93% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(239 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Principaux algorithmes d’ordonnancement
Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - CARPENTER (J.), FUNK (S.), HOLMAN (P.), SRIVINASAN (A.), ANDERSON (J.), BARUAH (S.) -   *  -  . – A categrization of real-time multiprocessor scheduling problems and algorithms chez Hanbook of Scheduling : Algorithms, Models, and Performance Analysis, Chapman Hall/CRC Press (2004).

  • (2) - LEUNG (J.), WHITEHEAD (J.) -   On the complexity of fixed-priority scheduling of periodic real-time tasks  -  Performance Evaluation, vol. 2, n° 14, pp. 237-250 (1982).

  • (3) - HORN (W.) -   Some simple scheduling algorithms  -  Naval Research Logistics Quaterly, vol. 21, pp. 177-185 (1974).

  • (4) - HONG (K.), LEUNG (J.) -   On-line scheduling of real-time tasks  -  IEEE Transactions on Computers, vol. 41, n° 110, pp. 1326-1331 (1992).

  • (5) - DERTOUZOS (M.), MOK (A.) -   Multiprocessor Online Scheduling of Hard-Real-Time Tasks  -  IEEE Transactions on Software Engineering, vol. 15, pp. 1497-1506 (1989).

  • ...

Cet article est réservé aux abonnés.
Il vous reste 92% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(239 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS