Actions











Nouveau planificateur de tâches pour le kernel

Écrit le 11/07/2007 @ 08:01 par Drizzt

Informatique - LinuxSelon cet article de SlashDot, le kernel 2.6.23 aura un nouveau planificateur de tâches pour le temps processeur surnommé CFS, pour Completely Fair Scheduler.

Le planificateur fonctionne sensiblement différemment de l'ancien, qui séparait le temps processeurs en plusieurs parties et y insérait des programmes dans une méthode round-robin. Celui-ci peut fonctionner selon 2 modes : bureau ou serveur.

Dans les 2 cas, le planificateur crée une bande de temps, un peu comme un montage de film, des programmes a exécuter. Selon le créateur, nous devrions voir une amélioration en utilisation bureau!

Dernière modification le 13/07/2007 @ 19:14 par Nick

Commentaire par Alexandre  Score: 2
Écrit le: 11/07/2007 @ 08:55

Pour compléter la description du fonctionnement, voici ce que j'en comprends : la liste des programmes est ordonnancée en fonction de l'application ayant le plus besoin d'utiliser du temps processeur. Ce besoin est calculé en fonction d'une valeur (wait_runtime), qui calcule depuis combien de temps une application n'a pas eu la possibilité de tourner. Avant, c'était en fonction de la demande du programme.

Voici un exemple :
Disons qu'un programme prend beaucoup de temps CPU (on compile du code, c'est lourd comparé au mouvement de la souris). Avec l'ancien système, on aurait donc attribué beaucoup de temps à la compilation avant de donner la possibilité à la souris de bouger, ce qui aurait rendu le système plus "choppy"; Avec CFS, cette application devra donner la place aux autres applications pour que celles-ci puissent faire leur travail. Cependant, si les autres applications n'ont pas besoin de ce temps, elles passent à la prochaine.

On se rapproche donc de quelque chose qui ressemble plus au principe de multitask, c'est-à-dire de faire tourner plusieurs tâches en même temps plutôt qu'une derrière l'autre.

Évidemment, le fait qu'une application soit "nice" ou non influence aussi le temps allouée à l'application (ce que l'option SD, un autre scheduler très similaire par son principe et qui a inspiré CFS, ne tenait pas en compte ou beaucoup moins).

Concernant l'option bureau ou serveur, le principe du scheduler reste le même. Cependant, dans le cas de la configuration bureau, le temps de latence est plus petit, ce qui donne un meilleur temps de réponse (c'est ce qu'on recherche avec un OS desktop puisqu'on ne veut pas attendre sur les réponses du système, les clicks de souris, etc.), alors que pour la configuration serveur, le temps est plus long avant de changer d'application, permettant ainsi de "crucher" plus de data.

Commentaire par Drizzt  Score: 2
Écrit le: 11/07/2007 @ 09:03

Ouais, ça semble être pas mal ça! Je n'avais juste pas le temps de décortiquer et écrire une description, merci de l'avoir fait! Smile

Commentaire par Alexandre  Score: 1.5
Écrit le: 11/07/2007 @ 09:58

De rien Wink

Commentaire par Alexandre  Score: 2
Écrit le: 11/07/2007 @ 08:56

J'ai bien hâte de voir ça dans le prochain kernel.

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

À cause d'un autre article de SlashDot, je suis tombé sur ce PDF qui explique comment fonctionne le plannificateur de FreeBSD, Linux, Solaris et Windows XP par rapport à MacOS X et les autres OS realtime.

Ils y ont découvert une faille de sécurité permettant à un programme d'occuper le processeur autant qu'il le désire, et il semblerait que la nouvelle méthode proposée y soit aussi vulnérable (je n'ai pas fini de lire par contre).

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

Intéressant. Je me demande si le tickless kernel de Linux aurait aussi ce problème... Parce que dans le prochain release (ou dans le présent qui est sorti hier ou aujourd'hui), il y a l'introduction de la notion de tickless. Il faudra que je jète un oeil au sujet.

Le kernel Linux ressemblera davantage à celui de OSX et c'est pour les mêmes raisons qu'il est modifié dans ce sens : économie d'énergie et plus grande efficacité du système.

Je vous donnerai des nouvelles sur le sujet un peu plus tard.
Dernière modification le 11/07/2007 @ 12:08


Tous les blogs
<< Gain pour les fumeurs | Retour aux blogs | le kernel "tickless" >>
Blogs de la même catégorie
<< FUSE et NTFS-3g | le kernel "tickless" >>