Hyper-V : Combien de (V)cores, combien de (V)CPU ?

Publié le 3 décembre 2011
Classé dans Système | 2 commentaires

Hyper-V : il est écrit beaucoup de bêtises sur le sujet des cores, Vcores ou CPU et VCPU.
Ce billet a pour but de lever toute ambiguïté sur ce sujet.

Définitions :

– Core : cœur physique (unité de calcul) dans un processeur, un processeur (ou CPU) contient 1 ou plusieurs cœurs.
– Vcore : cœur virtuel reconnu dans une machine virtuel en tant que cœur physique, on parle aussi de VCPU car un cœur d’un CPU physique dédié, est reconnu au sein de la VM comme un CPU à part entière.
– VM : Virtual machine (Machine Virtuelle).

Il suffit de lire le document Microsoft suivant : http://technet.microsoft.com/en-us/library/cc794868(WS.10).aspx

Pour décrypter et résumer simplement le document il faut comprendre qu’Hyper-V ne considère QUE des VCPU (processeurs virtuels). Si vous avez dans votre machine 2 CPU 4 Cores, Hyper-V lui considérera une machine avec 8 CPU disponibles.

A partir de là on comprend mieux le choix des éditions de l’OS Hôte et de ceux invités. L’OS hôte permettant l’exécution d’Hyper-V lui est limité au nombre de CPU physiques, peu importe le nombre de cores.

Un exemple : Windows 2008R2 Entreprise Edition supporte jusqu’à 8 CPU physiques sans limites de nombre de cores. En revanche cette même édition avec Hyper-V inclue une licence permettant de virtualiser jusqu’a 4 serveurs (limite déterminé par licence) et limités au maximum à 4 Vcores par VM (virtual machine), soit un total de 16 Vcores maximum utilisable en simultané pour cette édition.

L’affirmation ci dessus doit tout de même être complétée, 16 cores max c’est uniquement dans le cas où nous limitons l’utilisation  de cores physiques à 1 core = 1Vcore ce qui est une pratique recommandée dans l’utilisation de tous les hyperviseurs. Il est en effet possible de mutualiser un core pour plusieurs Vcores mais il vaut mieux éviter !

Il faut prendre un compte aussi un autre paramètre propre aux technologies Intel : l’Hyper-Threading, cette technologie a pour but de faire traiter à un coeur ou CPU physique deux instructions en simultané. Le résultat c’est que vous obtenez un nombre de cœurs disponibles équivalent au double du nombre physique. On appelle cela des cœurs (cores) logiques.

Quid des performances d’un cœur logique face à un cœur physique ?

Ce billet n’ayant pas pour but de traiter des bonnes pratiques sur Hyper-V je vais vous donner des conclusions vérifiées par mes soins et par un prestataire très connu sur le marché.

Microsoft a indiqué que depuis les versions R2 de Windows 2008 server, aucune différence de performance ne serait perçue entre un cœur physique et un logique.
Nous avons mis en place un serveur DELL R810 avec 6 CPU 4 Cores avec HT (Hyper-Threading) soit un total de 24 cores ou 48 cœurs logiques, 48Go de RAM et 6DD 147Go 15000tr/min. Nous avons forcé une VM à tourner une fois avec 4 cœurs physiques et ensuite la moitié en cœurs logiques. Nous avons constaté une baisse insignifiante de performante sur une base de données, aucune perte d’I/O et les benchs au niveau performance CPU dans la VM sont quasiment identiques.

J’espère avoir été clair sur ce billet, le sujet est très vaste concernant Hyper-V, si vous des questions ou des rectificatifs n’hésitez pas à utiliser les commentaires.

Commentaires

2 commentaires sur “Hyper-V : Combien de (V)cores, combien de (V)CPU ?”

  1. Michel on 23 octobre 2013 0 h 43 min

    Bonjour a vous,

    Merci pour ce post qui mérite d’être clair et précis.

    Etant en recherche d’explication clair pour nos membres, je souhaiterait vous contacter afin de vous demander s’il est possible que j’utilise vos écrit sur le sujet ?

    Amicalement,

    Gomes Michel
    ID-Cloud

  2. Chris... on 27 juillet 2014 10 h 25 min

    Bonjour, comme vous le voyez, le site n’est plus mis à jour, vous pouvez sans problème copier l’article et le modifier à votre guise.
    Cordialement,

    Christophe.

Laisser une réaction




IMPORTANT! Afin de valider votre commentaire, Vous devez résoudre la formule mathématique suivante (Ceci nous permet de valider que vous êtes bien humain) :-)

Combien font 4 (+) 3 ?
Please leave these two fields as-is: