I'm running a 2008r2 EE version of SQL Server on a machine (Not a VM) with 4 Sockets of Intel® Xeon® Processor E7-8880 v3 with Hyperthreading enabled. I'm attempting to validate with the affinity for both Processor and I/O that my application can run on less cores so I'm manually setting the Processor and I/O to balance the usage so no one core is used for both operations. However once I got to the third NUMA node (i.e CPU 64) I am only able to set the usage for the Processor Affinity and the I/O Affinity is grayed out.
The documentation is a bit confusing as it's making references to CPUs and not cores/processors but does reference having to set the affinity64 options to control processors 33-64 even though on the Processor side of things that seems to be controllable in the UI even when the I/O portion isn't. I haven't found anything that says the I/O is only able to be bound to the first 64 cores of a system.
I have another physical box with two CPU sockets that have 16 physical cores with hyperthreading enabled to provide 32 cores per CPU. On this server I'm able to control all of the cores regardless of if they are a Hyperthread or not.
Why I am I restricted from setting the I/O Affinity on all 128 visible cores? Does it have to do with Hyperthreading?