Partager via


KeQueryHighestNodeNumber, fonction (wdm.h)

La routine KeQueryHighestNodeNumber retourne le nombre de nœuds le plus élevé dans un système multiprocesseur qui a une architecture d’accès à la mémoire non uniforme (NUMA).

Syntaxe

USHORT KeQueryHighestNodeNumber();

Valeur de retour

KeQueryHighestNodeNumber retourne le numéro de nœud le plus élevé.

Remarques

Dans une architecture multiprocesseur d’accès mémoire non uniforme (NUMA), un nœud est une collection de processeurs qui partagent un accès rapide à une région de mémoire. L’accès à la mémoire n’est pas uniforme, car un processeur peut accéder à la mémoire dans son nœud plus rapidement qu’il peut accéder à la mémoire dans d’autres nœuds.

Si un système multiprocesseur NUMA contient n nœuds, les nœuds sont numérotés de 0 à n-1, et KeQueryHighestNodeNumber retourne n-1. Si un système contient un nœud, KeQueryHighestNodeNumber retourne zéro.

Si un système n’a pas d’architecture NUMA, KeQueryHighestNodeNumber retourne zéro. Un exemple d’architecture non-NUMA est un système multiprocesseur symétrique (SMP).

Lorsque Windows initialise un système multiprocesseur NUMA, il affecte des processeurs logiques aux nœuds et compte le nombre de nœuds résultants. Windows définit la capacité d’un nœud comme le nombre de processeurs présents au démarrage du système, en plus des autres processeurs logiques qui peuvent être ajoutés au nœud pendant l’exécution du système. Si, pendant l’initialisation, Windows rencontre un nœud matériel NUMA qui contient plus de processeurs logiques qu’un groupe, Windows divise le nœud en nœuds logiques plus petits. Chacun de ces nœuds ne dépasse pas la taille maximale du groupe. La valeur retournée par KeQueryHighestNodeNumber indique le nombre de nœuds logiques dans le système.

Une fois le système initialisé, le nombre de nœuds reste fixe pendant que le système continue à s’exécuter. Ce nombre peut inclure des nœuds en mémoire uniquement, qui sont des nœuds qui contiennent de la mémoire, mais pas de processeurs logiques actifs.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows 7 et versions ultérieures de Windows.
Plateforme cible Universal
En-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL N’importe quel niveau