Article ID: 2506384 - Last Review: July 22, 2011 - Revision: 5.0 How to manually configure K-Group assignment on multiprocessor machines
SUMMARYGroup assignment of processors is applicable to Non-Uniform Memory Architecture (NUMA) systems with more than 64 logical processors running 64-bit Windows operating systems starting with Windows Server 2008 R2. Group assignment allows an administrator to specify a static NUMA-node-to-group assignment, rather than letting Windows dynamically assign NUMA nodes to groups at boot time. Note: An OEM may choose to configure systems at the factory with an optimal group assignment. MORE INFORMATIONIn the absence of a manually entered K-Group assignment, Windows assigns nodes to groups in a manner that minimizes the number of groups. Windows uses empirically measured inter-node distances from the previous boot to minimize the distance between nodes assigned within each group. Administrators may override the automatic group assignment using one of two methods: by using BCDEdit, or by modifying the registry. Note: Windows Server 2008 R2 uses the following override priority: A manually added registry entry will override BCDEdit settings; in turn, BCDEdit settings will override the OS's automatic group assignment. Using BCDEdit to configure K-Group assignments Administrators can utilize BCDEdit to override the default K-Group assignment. BCDedit allows changes to the settings for groupsize and maxgroup. This method is documented on the following MSDN page: Boot Parameters to Test Drivers for Multiple Processor Group Support (http://msdn.microsoft.com/en-us/library/ff542298(VS.85).aspx) Using the registry to manually configure K-Group assignments The second method of manually assigning processor groups is through adding a registry entry which manually configures the K-Group assignments based on the particular system’s preferred NUMA characteristics. Key: HKLM\System\CurrentControlSet\Control\NUMA Value: “Group Assignment” Type: REG_BINARY Data: Proximity Domain Count (N) Proximity ID of domain 0 Group assignment for domain 0 Proximity ID of domain 1 Group assignment for domain 1 ... Proximity ID of domain N-1 Group assignment for domain N-1 The "Data" field is a series of ULONG values (4-byte unsigned integers). Important: Be sure to assign the proximity domain containing the BSP to group 0. Windows assures the BSP has group affinity {Group 0, Number 0}. Scenario For example, consider the following scenario:
Here are two examples of how to assign nodes manually in this scenario. Example 1: You wish to assign nodes 0x11 and 0x12 to group 0, and nodes 0x13 and 0x14 to group 1. Prepare the table as follows: Collapse this table
Note: You must assign proximity domain ID 0x11 to group 0 because domain ID 0x11 contains the BSP. To configure the registry according to this table, concatenate all the 4-byte ULONG values from the rightmost column into a single long binary value.Run this command: reg.exe add HKLM\System\CurrentControlSet\Control\NUMA /v "Group Assignment" /t REG_BINARY /f /d "040000001100000000000000120000000000000013000000010000001400000001000000" Example 2: You wish to assign nodes 0x11 and 0x12 to group 0, node 0x13to group 1, and node 0x14 to group 2. Prepare the table as follows: Collapse this table
Note: You must assign proximity domain ID 0x11 to group 0 because domain ID 0x11 contains the BSP. To configure the registry according to this table, concatenate all the 4-byte ULONG values from the rightmost column into a single long binary value.Run this command: reg.exe add HKLM\System\CurrentControlSet\Control\NUMA /v "Group Assignment" /t REG_BINARY /f /d "040000001100000000000000120000000000000013000000010000001400000002000000" Reboot for the configuration to be applied. If the configuration is incorrect in any way (i.e. the data is the wrong length, proximity IDs are incorrect, or invalid group numbers are specified), the group assignment data is ignored, and the machine will boot as if no group assignment data had been specified. Once completed, and after a reboot, there are two simple ways to validate if group assignment for the target machine’s NUMA configuration has been applied correctly:
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use
(http://go.microsoft.com/fwlink/?LinkId=151500)
for other considerations. | Other Resources Other Support Sites
CommunityGet Help Now
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email
Back to the top
