Hello, Is it possible to alter how XCP enumerates multi-core cpu’s such that a Vcpu represents a “socket”, rather than a “core”? A server with dual quad core processors, no HT, presents each of the 8 cores as a Vcpu to the guest. Windows Server 2008 R2 see’s each Vcpu as a unique “socket” and we are therefore coming up against licensing issues with Windows and more importantly SQL Server 2008 Standard Ed which is licensed for a maximum of 4 cpu’s (meaning 4 cores of a quad-core processor as a VM). The issue is worsened on a system with HT because then the quad core processor is presented to the VM’s as having 8 Vcpu’s, and SQL Server 2008 will only use 4 of them, or half the actual cores in a given cpu. When Windows Server 2008 R2 Standard edition is installed “bare metal” on the same dual-quad server it identifies the system as a dual processor with 8 total cores, and SQL Server then uses all 8 cores. I understand that it is possible make some alterations using “xe vm-param-set uuid=<vm uuid> VCPUs-params:”. But I’m not finding a way to present this two socket server as such to the guest, rather than an 8-socket system. Running XCP 0.5.0 on a Dell PE2950 with dual E5410 Xeon processors. Thanks! John Buchanan jbuchanan@infinitecampus.com _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
I seem to have found the solution in the “xe vm-param-set platform:cores-per-socket” command, nod to user “sholford” on experts-exchange. sholford <http://www.experts-exchange.com/M_4886216.html> : The problem is that XenServer virtualises each core as a separate physical processor in its own socket. Windows Server 2008 and 2003 are limited to 4 sockets, so you can only see 4 of your 8 cores in the task manager. If you look in the Device Manger you''ll see all 8 cores because Windows sees them all, but won''t let you use them. If you look in the XenServer Host console in the Hardware section, it will report 8 physical CPUs too. The following solution has been claimed to work and I suggest you try it, but I haven''t personally managed to get it to work. In XenCenter set the VCPUs for your VM to 2. Then enter the attached code snipped into the XenServer Host console. To find the UUID for your VM, type xe vm-list (select it, right click and copy then paste when you need to enter the UUID as it''s quite long). Now boot the VM and the task manager should show all 8 cores. xe vm-param-set platform:cores-per-socket=4 uuid=xxxxxx xe vm-param-set VCPUs-at-startup=8 uuid=xxxxxx xe vm-param-set VCPUs-max=8 uuid=xxxxxxx -John ------ Forwarded Message From: John Buchanan <john.buchanan@infinitecampus.com> Date: Wed, 3 Nov 2010 13:37:45 -0500 To: "xen-users@lists.xensource.com" <xen-users@lists.xensource.com> Subject: CPU enumeration Hello, Is it possible to alter how XCP enumerates multi-core cpu’s such that a Vcpu represents a “socket”, rather than a “core”? A server with dual quad core processors, no HT, presents each of the 8 cores as a Vcpu to the guest. Windows Server 2008 R2 see’s each Vcpu as a unique “socket” and we are therefore coming up against licensing issues with Windows and more importantly SQL Server 2008 Standard Ed which is licensed for a maximum of 4 cpu’s (meaning 4 cores of a quad-core processor as a VM). The issue is worsened on a system with HT because then the quad core processor is presented to the VM’s as having 8 Vcpu’s, and SQL Server 2008 will only use 4 of them, or half the actual cores in a given cpu. When Windows Server 2008 R2 Standard edition is installed “bare metal” on the same dual-quad server it identifies the system as a dual processor with 8 total cores, and SQL Server then uses all 8 cores. I understand that it is possible make some alterations using “xe vm-param-set uuid=<vm uuid> VCPUs-params:”. But I’m not finding a way to present this two socket server as such to the guest, rather than an 8-socket system. Running XCP 0.5.0 on a Dell PE2950 with dual E5410 Xeon processors. Thanks! John Buchanan jbuchanan@infinitecampus.com ------ End of Forwarded Message _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
Unsuccessfully submitted a question yesterday similar to my colleague Joe Coleman, prior to realizing he’d already submitted the question. I appear to have found the solution this morning on experts-exchange.com, thanks to user “sholford”. The answer was in use of the “xe vm-param-set platform:cores-per-socket=4 uuid=xxxxxx” command. On the Dell PE2950, dual quad core E5410’s (no hyperthreading), I set cores per socket to 4, but on another XCP host with E5630 procs (quad core but with HT as well) I set cores-per-socket to 8 so as to get my WinServer 2008 guest to see 2 cpu’s in system properties, but Task Manager shows 16. Just about to run a data scramble test against a DB to compare results to the same test on a similar system albeit with Windows installed on “bare metal”. Post below was from 4/25/09 and does not mention which version of Xen he hadn’t gotten it to work on. I’m on XCP 0.5.0 and it appears to work perfectly. -John sholford <http://www.experts-exchange.com/M_4886216.html> : The problem is that XenServer virtualises each core as a separate physical processor in its own socket. Windows Server 2008 and 2003 are limited to 4 sockets, so you can only see 4 of your 8 cores in the task manager. If you look in the Device Manger you''ll see all 8 cores because Windows sees them all, but won''t let you use them. If you look in the XenServer Host console in the Hardware section, it will report 8 physical CPUs too. The following solution has been claimed to work and I suggest you try it, but I haven''t personally managed to get it to work. In XenCenter set the VCPUs for your VM to 2. Then enter the attached code snipped into the XenServer Host console. To find the UUID for your VM, type xe vm-list (select it, right click and copy then paste when you need to enter the UUID as it''s quite long). Now boot the VM and the task manager should show all 8 cores. xe vm-param-set platform:cores-per-socket=4 uuid=xxxxxx xe vm-param-set VCPUs-at-startup=8 uuid=xxxxxx xe vm-param-set VCPUs-max=8 uuid=xxxxxxx ------ Forwarded Message From: John Buchanan <john.buchanan@infinitecampus.com> Date: Wed, 3 Nov 2010 13:37:45 -0500 To: "xen-users@lists.xensource.com" <xen-users@lists.xensource.com> Subject: CPU enumeration Hello, Is it possible to alter how XCP enumerates multi-core cpu’s such that a Vcpu represents a “socket”, rather than a “core”? A server with dual quad core processors, no HT, presents each of the 8 cores as a Vcpu to the guest. Windows Server 2008 R2 see’s each Vcpu as a unique “socket” and we are therefore coming up against licensing issues with Windows and more importantly SQL Server 2008 Standard Ed which is licensed for a maximum of 4 cpu’s (meaning 4 cores of a quad-core processor as a VM). The issue is worsened on a system with HT because then the quad core processor is presented to the VM’s as having 8 Vcpu’s, and SQL Server 2008 will only use 4 of them, or half the actual cores in a given cpu. When Windows Server 2008 R2 Standard edition is installed “bare metal” on the same dual-quad server it identifies the system as a dual processor with 8 total cores, and SQL Server then uses all 8 cores. I understand that it is possible make some alterations using “xe vm-param-set uuid=<vm uuid> VCPUs-params:”. But I’m not finding a way to present this two socket server as such to the guest, rather than an 8-socket system. Running XCP 0.5.0 on a Dell PE2950 with dual E5410 Xeon processors. Thanks! John Buchanan John.buchanan@infinitecampus.com _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users