Hi guys,
A customer of mine is going to virtualize all its servers on an Oracle VM platform. As far as I know Xen presents each physical CPU's hyperthread as a standalone virtual 1-core CPU socket to the VMs. However, some software products have been applied CPU socket limits (e.g. Oracle DB Standard Edition allows maximum 4 sockets, as well Windows 2008 Server Standard Edition allows maximum 8 sockets). When being run in an Oracle VM these products could not be able to utilize the all the physical machine CPUs because they will be thinking that their VM machine has much more CPU sockets. For example, a dual-socket physical machine with 8-core CPUs with hyperthreading will have 16 physical cores * 2 threads = 32 hyperthreads, which will be reported by Xen to its VMs as 32 virtual 1-core CPU sockets instead of two 8-core CPUs. In this way Oracle DB SE would be restricted to run on 4 virtual vCPUs = 2 real CPU cores only instead of all the 16 physical cores, and Windows 2008 Server SE would be restricted to 4 physical cores only.
VMware and XexServer deal with this problem by introducing "virtual sockets", thus making possible to configure and present the physical CPUs to the VMs not as a large number of standalone 1-core CPU sockets, but as a lower number of multicore virtual sockets.
My question is: Does Oracle VM provide a similar option (e.g. to combine and configure multiple vCPUs as virtual sockets) in order to avoid socket limit implications with some software products? If no, what are we supposed to do in order to run such software products at the full machine's CPU power?
Thanks in advance.