In vSphere a vCPU is presented to the operating system as a single core cpu in a single socket. For example, Windows 2008 standard is limited to 4 physical CPUs, and it will not utilize any additional vCPUs if you configure the VM with more than 4 vCPUs. To solve this limitation, VMware introduced the vCPU configuration option core per socket. With this option you can for example configure the virtual machine with 2 virtual sockets and 4 cores per socket allowing the operating system to use 8 vCPUs instead of 4 CPU on a Windows 2008R2 standard.
Windows 2012R2 Datacenter and Standard can have a maximum number of 64 (64-bit) sockets.
There is no performance impact between using virtual cores or virtual sockets because of the power of the abstraction layer.
When creating a virtual machine, by default, vSphere will create as many virtual sockets as you’ve requested vCPUs and the cores per socket is equal to one.
This will enable vNUMA te select and present the best virtual NUMA topology to the guest operating system, which will be optimal on the underlying physical topology.
Changes are made to cores per socket commonly due to licensing constraints. When a virtual machine is no longer configured by default, vNUMA will not automatically pick the best NUMA configuration based on the physical server, but will instead respect the new configuration.