Gestion de processeur virtuel dans une partition

Le planificateur de noyau a été amélioré pour augmenter et diminuer dynamiquement l'utilisation des processeurs virtuels en conjonction avec la charge instantanée de la partition, telle que mesurée par l'utilisation physique de la partition.

Chaque seconde, le planificateur de noyau évalue le nombre de processeurs virtuels qui doivent être activés pour s'adapter à l'utilisation physique de la partition. Si le nombre génère une utilisation élevée du processeur virtuel, le nombre de base de processeurs virtuels requis est incrémenté pour permettre à la charge de travail de prendre de l'expansion. Vous pouvez demander des processeurs virtuels supplémentaires à l'aide de la commande schedo . Cette valeur est ensuite utilisée pour déterminer si un processeur virtuel doit être activé ou désactivé, car le planificateur n'ajuste que d'une unité le nombre de processeurs virtuels utilisés chaque seconde. Ainsi, si le nombre calculé est supérieur au nombre de processeurs virtuels actuellement activés, un processeur virtuel est activé. Si le nombre est inférieur au nombre de processeurs virtuels actuellement activés, un processeur virtuel est désactivé.

Lorsque des processeurs virtuels sont désactivés, ils ne sont pas supprimés dynamiquement de la partition comme avec DLPAR. Le processeur virtuel n'est plus candidat à l'exécution ou à la réception de travaux non liés, mais il peut toujours exécuter des travaux liés. Le nombre de processeurs logiques en ligne et de processeurs virtuels en ligne visibles pour l'utilisateur ou les applications ne change pas. Il n'y a aucun impact sur le middleware ou les applications qui s'exécutent sur le système car les processeurs virtuels actifs et inactifs sont internes au système.

La valeur par défaut du paramètre réglable vpm_xvcpus est 0, ce qui signifie que le pliage est activé. Cela signifie que les processeurs virtuels sont gérés. Vous pouvez utiliser la commande schedo pour modifier le paramètre réglable vpm_xvcpus .

Pour déterminer si la fonction de gestion de processeur virtuel est activée ou non, vous pouvez utiliser la commande suivante :
# schedo -o vpm_xvcpus
Pour augmenter le nombre de processeurs virtuels utilisés par 1, vous pouvez utiliser la commande suivante :
# schedo -o vpm_xvcpus=1
Chaque processeur virtuel peut consommer un maximum d'un processeur physique. Le nombre de processeurs virtuels requis est déterminé en calculant la somme de l'utilisation de l'UC physique et de la valeur du paramètre réglable vpm_xvcpus , comme illustré dans l'équation suivante :
Number of virtual processors needed = 
Physical CPU utilization + Number of additional virtual processors to enable

Si le nombre de processeurs virtuels requis est inférieur au nombre actuel de processeurs virtuels activés, un processeur virtuel est désactivé. Si le nombre de processeurs virtuels requis est supérieur au nombre actuel de processeurs virtuels activés, un processeur virtuel désactivé est activé. Les unités d'exécution connectées à un processeur virtuel désactivé sont toujours autorisées à l'exécuter.

Remarque: Vous devez toujours arrondir la valeur calculée à partir de l'équation ci-dessus à l'entier suivant.

L'exemple suivant décrit comment calculer le nombre de processeurs virtuels à utiliser :

Au cours du dernier intervalle, la partition A utilise deux processeurs et demi. Le paramètre réglable vpm_xvcpus est défini sur 1. À l'aide de l'équation ci-dessus,
Physical CPU utilization = 2.5
Number of additional virtual processors to enable (vpm_xvcpus) = 1

Number of virtual processors needed = 2.5 + 1 = 3.5
En arrondissant la valeur calculée au nombre entier supérieur, on obtient 4. Par conséquent, le nombre de processeurs virtuels requis sur le système est 4. Ainsi, si la partition A était en cours d'exécution avec 8 processeurs virtuels, 4 processeurs virtuels sont désactivés et 4 processeurs virtuels restent activés. Si SMT est activé, chaque processeur virtuel génère 2 processeurs logiques. Ainsi, 8 processeurs logiques sont désactivés et 8 processeurs logiques sont activés.
Dans l'exemple suivant, une charge de travail modeste qui s'exécute sans la fonction de pliage activée consomme une quantité minimale de chaque processeur virtuel alloué à la partition. La sortie suivante de l'outil mpstat -s sur un système avec 4 UC virtuelles indique l'utilisation du processeur virtuel et des deux processeurs logiques qui lui sont associés :
        Proc0                    Proc2                   Proc4                         Proc6
        19.15%                   18.94%                  18.87%                       19.09%
    cpu0      cpu1           cpu2      cpu3          cpu4      cpu5               cpu6      cpu7
   11.09%   8.07%           10.97%   7.98%          10.93%   7.93%               11.08%   8.00%

Lorsque la fonction de pliage est activée, le système calcule le nombre de processeurs virtuels requis avec l'équation ci-dessus. La valeur calculée est ensuite utilisée pour réduire le nombre de processeurs virtuels à ce qui est nécessaire pour exécuter la charge de travail modeste sans performances dégradantes. La sortie suivante de l'outil mpstat -s sur un système avec 4 UC virtuelles indique l'utilisation du processeur virtuel et des deux processeurs logiques qui lui sont associés :
        Proc0                     Proc2                   Proc4                      Proc6
        54.63%                    0.01%                   0.00%                      0.08%
    cpu0      cpu1            cpu2     cpu3           cpu4     cpu5              cpu6     cpu7
   38.89%   15.75%            0.00%    0.00%           0.00%   0.00%             0.03%    0.05%

Comme vous pouvez le constater à partir des données ci-dessus, la charge de travail bénéficie d'une diminution de l'utilisation et de la maintenance des processeurs auxiliaires, et d'une affinité accrue lorsque le travail est concentré sur un processeur virtuel. Toutefois, lorsque la charge de travail est lourde, la fonction de pliage n'interfère pas avec la capacité d'utiliser toutes les unités centrales virtuelles, si nécessaire.