Actions











le kernel "tickless"

Écrit le 11/07/2007 @ 12:58 par Alexandre

Informatique - LinuxDrizzt a abordé légèrement un problème possible dans certains OSes sur la façon que les minuteries internes sont gérées au niveau du kernel.

Il mentionnait que beaucoup de OSes avaient une vulnérabilité en ce sens qu'une application pouvait utiliser tout le temps processeur désiré tout en étant rapporté comme n'en utilisant pas. OSX était protégé par effet secondaire du fait qu'il n'utilisait pas le même type de minuteries : plutôt que d'utiliser les ticks (qui se produisent de façon régulière), il utilisait d'autres minuteries qui étaient modifiables et modifiées en fonction des besoins du système.

Je me souvenais que le kernel Linux était en reconstruction pour devenir "tickless", à la manière de OSX et des OSes en temps réel. Et bien, sachez que cette option est disponible depuis la version 2.6.21. Je vous présente donc ce que j'ai trouvé sur le sujet.

Tout d'abord, comme mentionné, cette option est disponible depuis la version 2.6.21 (je vais d'ailleurs me mettre à jour). Le but était de rendre le système plus économique en mode "idle", c'est-à-dire quand le système ne faisait rien. Pourquoi vérifier s'il y a quelque chose à faire si en bout de compte, aucune application n'a demandée de travailler avant x temps.

Un responsable chez Intel mentionne qu'en ne modifiant que la version du kernel, ils ont été en mesure de diminuer la consommation d'énergie de 15 à 25% en mode "idle". Intéressant pour les portables, non?


L'autre avantage est au niveau de la virtualisation. Si le processeur ne sert pas sous l'OS principal, alors pourquoi faire des vérifications de ce côté. La même chose s'applique pour l'OS virtualisé. Maintenant, mettez les deux ensembles et vous sauverez plusieurs interruptions.

Commentaire par Alexandre  Score: 2
Écrit le: 11/07/2007 @ 13:06

Pour les intéressés, voici un article de Linux-Watch parlant plus en détails des changements apportés.

Au fait, en même temps que la réarchitecture pour un kernel tickless, Linux a vu l'introduction d'un API pour contrôler les minuteries (puisqu'il n'y a plus de tick). Ça permet donc de simplifier la gestion des minuteries à travers les différentes architectures.

Commentaire par Alexandre  Score: 2
Écrit le: 11/07/2007 @ 13:10

Autre chose, le tickless kernel ne fonctionne qu'en mode "idle". Lorsque le système est occupé, il reste en mode "tick". Éventuellement, le kernel deviendra complètement tickless, mais pour le moment, ceci veut dire que le problème possible de la prise de contrôle du CPU reste possible. Le kernel Linux se rapproche donc sur ce point du kernel OSX, mais n'est pas encore complètement rendu au même point.

Commentaire par Drizzt  Score: 2
Écrit le: 11/07/2007 @ 14:01

RHEL5 est rendu avec le kernel 2.6.18. J'aurais cru que de me mettre à jour m'aurait donné cette nouvelle fonctionnalité, mais il ne semble pas que ce soit le cas Frown

Anyway, je vais regarder s'il y a moyen de me mettre à jour "simplement" Embarrassed

Commentaire par Alexandre  Score: 2
Écrit le: 11/07/2007 @ 16:30

Je devine que Fedore a déjà le kernel tickless, tout comme OpenSuse. Mais quand on tombe du côté entreprise, c'est toujours plus long.

Commentaire par Nick  Score: 2
Écrit le: 11/07/2007 @ 17:52

Sur Fedora, je suis sur 2.6.21-1.3228, donc je présume que oui.
Par contre, je ne sais pas comment vérifier si c'est vraiment le cas...

Commentaire par Alexandre  Score: 2
Écrit le: 12/07/2007 @ 00:14

Selon cet article, je pense que c'est le cas.


Tous les blogs
<< Nouveau planificateur de tâches pour le kernel | Retour aux blogs | Quicktime 7.2, iTunes 7.3.1 dans SWUP >>
Blogs de la même catégorie
<< Nouveau planificateur de tâches pour le kernel | Microsoft Surface pourrait avoir de la compétition en MPX >>