Serveur 2008 et Vista : Amélioration du noyau

Serveur2008 est bientôt la et vous allez découvrir aisément les apports de cette nouvelles version tant sur les plans de la sécurité que de la vitalisation ou du serveur Webr le tout positionner sur des avancées fondamentales. Bon nombre d’articles webcast et demos, illustreront ces points, mais beaucoup moins sur ces fameuses avancées fondamentales J La raison est simple, c’est pas très visuel, et ca nécessitent un minimum d’investissement en temps et réflexions pour les appréhender… En effet certain points peuvent paraître mineurs (comme l’attente de le fin du quantum pour les rappels IOAsynchrone) mais vont avoir un impact fort sur un serveur ou une ferme de serveurs. Dans ce cas la réduction du nombre de switch context dans une ferme de serveur va être drastique, associé au fait que les quantum ne seront plus imputé des temps de switch de thread, on devrait voir des serveurs beaucoup plus « efficace » au regard du temps CPU vs le nombre de d’instructions (instruction retired) réellement exécutées. C’est fondamental et nécessaire pour la génération des serveur des années 2008 – 2010 !

En terme de développement il est important de noter que depuis la sortie de vista ; les équipes continuent de travailler sur l’amélioration du moteur à la fois sur Vista et Serveur2008. Ces améliorations vont être disponible très prochainement sous la forme d’un SP1 pour Vista et directement dans Serveur2008 dés sa sortie.

 

Pour ma part j’ai flashé sur ces différents points : (il y en a bien d’autres cf. les ressources plus bas…)

Comptage des cycles microprocesseur

Un vrai mesure efficace et précise des cycle cpu.

Service Planificateur de tâches multimédias

La possibilité de déclarer des taches de type multimédia, et donc d’obtenir de très bonnes performances (cas des thread faisant la lecture de sons, de vidéo, et qui devrait moins subir de ralentissement, vous savez les images un peu saccadées) . Le système va mettre la priorité High pendant 80% du time slice, ce qui va booster l’application. Il suffit au Thread de se déclarer appartenant à un job existant dans le registre.

Terminaison et annulation des E/S

Toutes les IO sont annulables avec Vista et Serveur2008, le résultat devrait être visible pour l’utilisateur qui ne sera plus obligé d’attendre les timeOut (trop long pour un utilisateur…). Une démo immédiate, ouvrez une boite de commande, tapez une instruction réseau du type net view \\UnNomQuiNexistePas, et faite ctrl-c : c’est immédiat….essayez donc avec XP !

Priorité d'E/S

Depuis la création des moteurs NT, il existe un gradient de priorité au niveau Process et un au niveau Thread. Avec Vista et Serveurv 2008, il existe maintenant un niveau de priorités au niveau des IO. Le résultat sera appréciable, quand par exemple un indexer indexe en arrière plan vos documents : jusqu'à maintenant au moment de l’IO, le thread de background était sur le même plan de priorité que la thread de premier plan (par exemple quand l’utilisateur tente d’ouvrir un fichier avec un traitement de texte…), et il y a avait « compétition ». La priorité au niveau des IO permet d’éliminer ces concurrences, et la aussi garantira plus de réactivité au niveau de l’utilisateur

Espace d'adressage du noyau dynamique

Gestion étendue et optimisé de la mémoire NUMA…

Retrouvez ces points plus en profondeur dans l’excellent article de M Russinovich (dispo en français ici )

 

 

Quelques autres ressources :

Un excellent white paper, remplis de liens pertinents sur le sujet 

Memory management

Syncvhro vista

Présentation de B Ourghanlian au TechDays2007

Retrouvez très prochainement les Webcast de notre dernier « Mercredi du Dev » ou nous illustrons par des démos ces différents points et d’autre « pas mal aussi ! »… de même une série d’articles va être publiée sur le site MSDN France, je vous tiens au courant….

 

A bientôt,

 

Eric