Actions











Une patch de 200 lignes qui améliorent le temps de réponse des applications

Écrit le 16/11/2010 @ 13:48 par Alexandre

Informatique - LinuxÀ partir de l'idée lancée par Linus concernant la priorisation des applications afin d'améliorer le temps de réponse des applications, une nouvelle patch qui semble faire tout un tabac en seulement 200 lignes de code risque d'être incluse dans la version 2.6.38 du kernel linux.

En somme, elle regroupe les applications par "process group" et accorde une priorité différente à chaque groupe (selon ce qui est désiré). Ainsi, les applications affichant quelque chose peuvent avoir une priorité plus grande au besoin que les autres applications afin de rendre l'expérience pour l'utilisateur plus agréable tout en donnant l'impression que les applications sont plus rapides (alors qu'en fait, ce n'est pas le cas, elles ne répondent que plus rapidement, ce qui évite les sacades).

Les impressions de Linus sont disponibles sur ce lien. Voyez l'expérience de l'équipe de Phoronix en suivant ce lien.

Commentaire par Nick  Score: 2
Écrit le: 16/11/2010 @ 18:26

Les vidéos sont vraiment impressionnant. J'aurais besoin de ça pour mon vieux portable!

Commentaire par Alexandre  Score: 2
Écrit le: 16/11/2010 @ 18:42

Je me disais que ce serait bien aussi pour mon petit Netbook.

Commentaire par Drizzt  Score: 2
Écrit le: 17/11/2010 @ 09:04

Je suis vraiment curieux de savoir quel genre d'impact ça peut avoir sur un serveur. Il est recommandé, dans le cas d'un serveur dédié exécutant un kernel avec ticks, d'augmenter le temps entre les contexts switchs pour qu'il puisse traiter plus longtemps et économiser sur les contexts switchs sous une grosse charge.

Je me demande aussi si ça peut s'appliquer sur un kernel tickless, comme Mach.

Dans mon cas, quand mon serveur ne répondait plus, c'était parce qu'un disque dur répondait mal et faisait tomber le kernel.. enfin.. si c'était vraiment ça! Tk, ça va bien depuis que j'ai changé ce disque pour un WD Wink

Commentaire par Alexandre  Score: 2
Écrit le: 17/11/2010 @ 19:59

Prise 2 d'un commentaire expliquant le fonctionnement... (Ça m'apprendra à faire ctrl+r plutôt que ctrl+t). J'ai lu quelques échanges (parfois enflammés) sur le sujet entre quelques développeurs. Voici ce que j'ai pu retenir comme information.

La patch propose la création de groupes "cgroup" de façon automatique. Ces groupes peuvent déjà être fait manuellement si quelqu'un se donne la peine. Cependant, force est de constater que les utilisateurs et les distributions n'y portent pas vraiment attention. Pour un serveur, ce mécanisme peut être mis hors fonction de diminuer le temps utilisé par le passage d'une tâche à une autre.

Remarquez que la patch se concentre sur les terminaux (TTY), même si des discussions ont lieu pour l'étendre à d'autres parties. Pour le moment, cela implique que cette amélioration ne s'applique que si des applications tournes dans des terminaux différents. Donc, si vous êtes un utilisateur qui n'ouvre pas de terminaux, mais qui ne fait que tourner votre fureteur préféré et un film en même temps, ça ne changera rien. Pour vous, les patchs dont j'ai parlées précédemment auront plus d'effet (en grande partie incluse dans la version à venir 2.6.37). Par contre, si vous faites tourner des applications en même temps que vous compilez (Drizzt, Nick, moi-même), alors la réponse sera meilleure comme démontrée dans les vidéos de Phoronix. Cependant, il faudra attendre soit le kernel 2.6.38 ou l'arrivée de systemd.

Systemd est au userspace ce que cette patch est au kernel. En effet, parmi les échanges, certains défendaient l'arrivée prochaine de systemd (dans F15) et qui, à terme, devrait offrir les mêmes mécanismes avec une plus grande flexibilité pour les utilisateurs. Cependant, la question subsiste à savoir quels utilisateurs s'en serviront. Bref, deux approches qui ne sont pas exclusives l'une de l'autre.

Commentaire par Drizzt  Score: 2
Écrit le: 24/11/2010 @ 15:09

J'ai lu autre part qu'il était possible d'obtenir des résultats similaires, voir meilleurs, sans patch au kernel (et donc avec le kernel courrant).

C'est quelqu'un de RedHat qui a fait ça.. mais je ne me souviens plus où j'ai trouvé tout ça Humm


Tous les blogs
<< Pétition pour la démission du Premier Ministre du Québec | Retour aux blogs | Safari 5.0.3 dans Software Updates >>
Blogs de la même catégorie
<< RedHat Enterprise Linux 6 disponible! | Compiler un kernel pour une architecture différente (crosscompiling) >>