Il titolo dice praticamente tutto. Mi chiedo solo se questo fa la differenza nel modo in cui le VM elaboreranno le cose e se un metodo è preferibile rispetto a un altro.
Il titolo dice praticamente tutto. Mi chiedo solo se questo fa la differenza nel modo in cui le VM elaboreranno le cose e se un metodo è preferibile rispetto a un altro.
Risposte:
No, la VM dovrebbe funzionare allo stesso modo e utilizzerà le stesse risorse sull'host. È solo una scelta di progettazione che è stata principalmente aggiunta per aggiungere un po 'di flessibilità laddove il tuo sistema operativo o software potrebbe avere i requisiti di licenza della CPU.
Ogni socket / core rappresenterà un core fisico sull'host. Ricorda che più core non è automaticamente una buona cosa a causa dei requisiti di pianificazione.
Lo scopo principale dell'opzione core / socket è quello di fornire flessibilità con software che può avere requisiti di runtime o di licenza basati sul numero di socket "fisici" o core della CPU.
Mentre non c'è differenza di prestazioni tra più core su un unico zoccolo rispetto a una combinazione di prese multiple, ci È una leggera differenza nel funzionamento se si attiva o richiedere la funzionalità CPU hot-add della macchina virtuale.
Con la funzionalità di aggiunta a caldo della CPU VMware, è possibile aggiungere un socket a una VM in esecuzione, ma non core aggiuntivi . Per quanto strano, questo è qualcosa in cui mi imbatto nella produzione al lavoro e ha influenzato il modo in cui configuro le nuove macchine virtuali.
In generale, farà poca o nessuna differenza nelle prestazioni.
Un sistema operativo sufficientemente complesso può alterare la sua euristica di pianificazione (mantenendo ad esempio thread strettamente correlati sui core nello stesso pacchetto, che con alcuni progetti di chip può aumentare l'efficienza del modo in cui viene utilizzata la cache condivisa tra i core) a seconda della disposizione dei socket (popolati) e core. In una configurazione virtualizzata è probabile che qualsiasi differenza sia insignificante o resa completamente discutibile a causa del modo in cui l'hypervisor pianifica l'accesso alla CPU per le VM guest a meno che l'hypervisor non sia abbastanza intelligente sulla pianificazione di base tra / all'interno delle VM.
Come sottolinea Dan, dovresti confrontare le tue attività (in modo realistico: cioè con altre attività sull'host non solo in un ambiente di test in cui la VM in questione è l'unica in esecuzione) per assicurarti che più vCore / vCPU / entrambi è effettivamente vantaggioso per le loro prestazioni. Il modo in cui è pianificato l'accesso ai core può introdurre ritardi che annullano qualsiasi vantaggio e in effetti rendono le cose più lente nel complesso: ho visto rapporti in cui per attività con CPU significativa una piccola farm di VM single core sullo stesso host ha ottenuto prestazioni significativamente migliori su lo stesso hardware rispetto a un numero inferiore di (dove "un numero inferiore 2 include una) VM multi-core (anche se ovviamente è probabile che imponga un carico di memoria molto maggiore sull'host).