Ciao Andrea,
in VMware non è necessario "assegnare" i core a una virtual machine piuttosto che a un altra, cosi come non serve riservare dei core a ESXi stesso.
Lo scheduler di ESXi si occupa di ripartire i cicli cpu a tutte le VM che ne fanno richiesta, e riserva già per se una porzione della capacità computazionale. Spiegare nel dettaglio come questa cosa avviene sarebbe lunga, ti invito a leggere la documentazione tecnica disponibile, un buon inizio è questo documento:
http://www.vmware.com/files/pdf/techpaper/VMware-vSphere-CPU-Sched-Perf.pdf
Per la questione socket vs core, si essendo tutti virtualizzati poco cambia, si fa più che altro per problemi di licenze,ad esempio con software licenziati per socket li si può "imbrogliare" mostrandogli un unico socket dotato di molti core.
PS: se stai pensando alla CPU affinity, evitala! E' solo peggiorativa.
Ciao,
Luca.