in ,

Quelles sont les caractéristiques de l’ordonnancement en temps réel monoprocesseur.

Temps réel, ordonnancement (Job Scheduler), monoprocesseur, multiprocesseurs, monocoeur, multicœurs, thread, la technologie évolue, et il était plus que temps de faire un point avancé sur ces sujets.

Ordonnanceur / Scheduler, ou Job Scheduler, pour mieux gérer ses alertes en temps réel
Ordonnanceur / Scheduler, ou Job Scheduler, pour mieux gérer ses alertes en temps réel

Quelles sont caractéristiques de l’ordonnancement en temps réel monoprocesseur, l’ordonnancement temps réel est le processus par lequel différentes tâches sont exécutées à une heure prédéterminée ou lorsque le bon événement se produit. 

Sachez tout de même qu’avec un système équipé d’une seule unité de traitement (un système mono processeur donc), l’ordonnancement en temps réel est quand même possible. Il suffit pour cela que l’ordonnanceur utilisé puisse, avec les ressources qu’il a à disposition, arriver à faire cohabiter les tâches urgentes et les tâches à la priorité plus faible

Il est assuré par un outil appelé ordonnanceur ou Job Scheduler en anglais. L’exécution de tâches par les différentes applications ne peut se faire sans la puissance de calcul fournie par le ou les processeurs présents sur le système. Et généralement, plus il y a de processeurs, mieux ces processeurs sont puissants et plus il sera possible pour le système temps réel, guidé par l’ordonnanceur, de réaliser plusieurs tâches à la fois. 

L’ordonnancement temps réel monoprocesseur vous intéresse-t-il. Découvrez dans cet article tout ce qu’il y a à savoir sur à ce sujet.  

Les spécificités d’un système temps réel. 

À mesure que la technologie de l’information évolue, les systèmes dits en temps réel deviennent omniprésents. Ils sont partout, dans toutes les entreprises quel que soit leur domaine d’activité et secteur. Des exemples typiques de systèmes en temps réel incluent les systèmes de contrôle de procédé (industrie de production), les systèmes de traitement des données boursières en « temps réel » (la finance), les systèmes de contrôle du trafic aérien (l’aéronautique), les paramètres moteur, de la trajectoire, du freinage (l’automobile)… 

Première chose à noter au sujet des systèmes en temps réel, avec ce type de système, le comportement correct du système dépend non seulement des résultats logiques des calculs, mais aussi de l’instant auquel ces résultats sont produits. Un délai non respecté dans les systèmes temps réel est généralement catastrophique et cela peut entraîner une perte importante pour l’organisation concernée. 

Voilà pourquoi au niveau de ces systèmes, la prévisibilité du comportement du système est la préoccupation majeure. Et pour obtenir cette prévisibilité, il faut un ordonnancement statique ou dynamique des tâches en temps réel afin de respecter leurs échéances. 

Qu’est-ce qu’on entend par ordonnancement temps réel. 

Comme évoqué plus haut, les systèmes temps réel sont définis par une configuration de tâches périodiques qui doivent être exécutées selon un ordre précis à des moments bien spécifiés. Puisqu’il s’agit de systèmes temps réel, la réalisation de chaque tâche, du moins ceux qui sont critiques, est soumise à des contraintes temporelles dont le respect doit être validé avant la mise en service du système ou durant l’exécution des tâches si leurs caractéristiques ne sont pas connues a priori.

Sachez que l’ordonnancement de ces tâches, pour qu’elles puissent être réalisées automatiquement par les différents logiciels concernés, est l’œuvre de l’ordonnanceur. Et sachant que la réalisation de chaque tâche nécessite l’utilisation de ressources de calcul et de données, le problème d’ordonnancement en temps réel concerne donc surtout les méthodes d’allocation des ressources pour satisfaire les contraintes de temps.

Programmer les tâches de manière à garantir à l’infini leurs contraintes de timing en exploitant convenablement la puissance fournit par le ou les processeurs. C’est la mission assurée par l’ordonnanceur ! 

Les algorithmes qui assurent l’ordonnancement en temps réel 

Pour déterminer lequel parmi plusieurs processus exécuter à tel moment et quelle quantité de ressources allouée, le job Scheduler utilise des algorithmes. Ceux-ci, classés dans deux catégories, peut prendre en compte la priorité de l’utilisateur associée au processus, la nécessité de maintenir une utilisation élevée des ressources système ainsi que les délais pour le travail.

Les algorithmes d’ordonnancement peuvent être classés dans deux catégories : les algorithmes d’ordonnancement hors ligne et les algorithmes d’ordonnancement en ligne.

Les algorithmes hors-ligne : 

Il s’agit d’une suite finie et non ambiguë d’instructions et d’opérations responsable de la construction des séquences d’ordonnancement sur les bases des paramètres temporels et de la configuration des processus qui vont être exécutés. 

Les algorithmes en ligne :

Les algorithmes hors-ligne fixent l’ordre d’exécution des tâches bien avant que l’exécution ne commence. Les algorithmes en ligne, quant à eux, opèrent différemment. En fonction des paramètres des tâches qui sont déjà prêtes à l’exécution, ils interviennent pour choisir la requête à exécuter à un moment bien spécifié. 

Dans la catégorie des algorithmes en ligne, il existe encore trois classes d’algorithmes au rôle très important qu’il convient de noter. Il y a les algorithmes à priorité fixe pour les tâches, les algorithmes à priorité fixe pour les requêtes et enfin les algorithmes à priorité dynamique dont la responsabilité est d’assigner une priorité aux tâches, mais une priorité qui peut changer avec le temps.

Caractéristiques de l’ordonnancement monoprocesseur

Le terme Monoprocesseur fait référence à un système informatique possédant une seule unité de traitement, un seul processeur autrement-dit.

L’ordonnancement informatique, comme nous venons de le voir, est le fait par lequel l’ordonnanceur ou Scheduler choisit l’ordre d’exécution des processus sur les processeurs d’un ordinateur. Le processeur est le composant principal qui va permettre l’exécution des tâches par les différentes applications présentes dans l’ordinateur ou sur le système informatique. 

Et dans notre cas, le système ne possède qu’un seul processeur. Mais un seul processeur signifierait-il que le système ne pourra exécuter en qu’un nombre très limité de tâches à la fois.

Si effectivement il est toujours intéressant d’opter pour des systèmes multiprocesseurs pour la réalisation de plusieurs tâches lourdes en même temps, les processeurs nouvelle génération présentent tout de même l’avantage de posséder plusieurs cœurs, les rendant capables, eux aussi, de réaliser plusieurs tâches lourdes en même temps.

Ordonnancement monoprocesseur – risque élevé de surchauffe et de surcharge.

Pour l’ordonnanceur et l’utilisateur, l’ordonnancement mono processeur présente l’avantage d’être simple à programmer, en tout cas en comparaison avec l’ordonnancement à plusieurs processeurs. Seulement, il présente en contrepartie le désavantage d’être sujet à un risque élevé de surchauffe et de surcharge surtout dans le cas où les tâches à exécuter sont lourdes et aussi que leur réalisation peut durer un peu trop longtemps vu qu’un seul processeur seulement est utilisé.

En effet, l’intérêt d’avoir plusieurs processeurs est d’avoir cette possibilité de pouvoir repartir les tâches entre les différents processeurs. Quand il n’y a qu’un seul processeur, le seul présent est donc obligé de tout faire lui-même, ce qui accélère sa surchauffe, réduisant sa puissance, ce qui va à son tour causer un surcharge processeur. 

Pour information, un processeur est dit en surcharge lorsque la puissance de calcul pour exécuter les tâches du système est plus importante que la puissance disponible. Quand ce cas de figure se présente, les tâches connaîtront progressivement du retard et vont manquer leur échéance. 

Complétons nos explications, différences entre cœur physique et logique, et thread.

Les cœurs physiques sont le nombre de cœurs physiques, autrement dit,  les composants matériels réels. Les cœurs logiques sont le nombre de cœurs physiques multipliés par le nombre de threads pouvant s’exécuter sur chaque cœur grâce à l’utilisation de « l’hyperthreading ».

Un thread est donc un fil d’exécution, une tâche que doit exécuter le processeur. Un cœur ne peut exécuter qu’un seul thread à la fois. Donc, si un processeur a deux cœurs, deux threads (deux tâches) peuvent être exécutées simultanément et ainsi de suite.

Pour clarifier,  si ton ordinateur  a deux cœurs sur le silicium, mais en tenant compte des deux threads par processeur physique, à cause de « l’HyperThreading ». Il sera détecté et considéré comme un système avec 4 cœurs logiques.

Le terme « multicœur » est relativement récent, c’est employé pour détailler un processeur composé d’au moins deux cœurs (ou autrement dit, unités de calcul), gravés au sein de la même puce.  C’est le géant IBM qui a commercialisé, le premier multicœur en début de ce siècle (2001), avec son réputé système Power 4.

Depuis d’autres constructeurs ont suivi, en produisant au départ des cœurs similaires, puis des cœurs différents pour les spécialiser dans des domaines très précis (Audio, Affichage, Calcul), en réalité la volonté initiale était d’augmenter la puissance, sans augmenter la fréquence d’horloge, tout en réduisant la quantité de chaleur dissipée (effet de joule).

Ce sujet est très complexe à expliquer, nous avons tenté de détailler au mieux, pour que le lecteur comprenne, sans trop de difficultés les différences qui peuvent exister entre toutes ces terminologies, en étant conscients que les technologies évoluent, et que nos vérités de maintenant, ne seront pas forcément celles de demain.

Written by Antoine

Informaticien depuis des lustres, ancien directeur de Banque (Informatique, Comptabilité, Communication, Refonte Informatique), Antoine est un passionné par les nouvelles technologies, et les innovations liées à l'informatique. Une de ses passions est d'écrire des articles, sur les sujets les plus variés et les plus divers, mais en relation avec le monde du SMS ou de la communication, de la supervision, et de la gestion des astreintes.

Ordonnanceur / Scheduler, ou Job Scheduler, pour mieux gérer ses alertes en temps réel

 Ordonnancement en temps réel, quels sont ses principes.

Ski en Andorre, top des plus belles pistes et sites

Ski en Andorre, top des plus belles pistes et sites