Highlighted
Contributor
Contributor

VCPU vs CPU

Salve a tutti, ho un problema da risolvere.

Per questioni di efficienza computazionale ho bisogno di avere una singola CPU MULTICORE molto potente,

questo perchè il programma da me utilizzato diventa estremamente lento nella modalità parallel computing in quanto deve

gestire il MULTICORE con risorse di alto livello mentre se invece il MULTICORE è gestito dal driver il tutto funziona egregiamente.

Tale potenza non è offerta attualmente sul mercato da nessun processore:attualmente il più veloce ed affidabile è l'Intel Core I9 9980XE,

mentre gli Xeon Phi anno scarsa bibliografia e risultati ambigui.Posso raggiungere tale risultato con un server MULTICPU sommando le risorse

ma l'immagine virtuale della VCPU nella mia VM deve risultare come una singola CPU e deve poter sfruttare tutta la potenza fisica di entrambe le CPU.

Pensate che questo sia possibile?

Se creo una VM con 1 VCPU e numero di core uguale alla somma dei core fisici delle 2 CPU ottengo questo risultato?

Grazie!

2 Replies
Highlighted
Enthusiast
Enthusiast

Ciao,

credo che sia possibile raggiungere il risultato che tu vuoi raggiungere modificando gli edit settings della vm per girare con un singolo vSocket e "N" numero di Core dipende da quanti core hai sulle cpu fisiche.

ESEMPIO PRATICO:

HOST con Intel(R) Xeon(R) Gold 6128 CPU @ 3.40GHz

2 Processor Socket

6 cores per Socket
Logical Processors = 24 (Hyperthreading)

Alla tua VM potrai aggiungere fino a 24vcpu, e decidere che il Guest OS veda 1 singolo Socket con 24 Core.

Spero di aver risposto alla tua domanda


CIao
Giova

GioDomi
0 Kudos
Highlighted
Expert
Expert

Non trovo traccia nella HCL di vmware del processore che menzioni, il supporto si ferma ad alcuni modelli i7.

vSphere da il meglio su processori della famiglia intel Xeon, tutto il resto funziona ma non ha prestazioni paragonabili.

In ogni caso il gioco della vcpu e del vcore serve solo per far vedere una determinata configurazione al sistema operativo guest e si usa normalmente per questione di licensing.

Il risultato finale sono enne-vcpu che girano su altrettanti core, non otterrai mai la somma delle vcpu.

Così ad occhio la tua applicazione non è multithreading altrimenti sarebbe in grado di schedulare i thread su più vcpu ottenendo delle reali performance.

Che io sappia non esiste un hypervisor in grado di sommare i Ghz di tutte le cpu fisiche e presentarle al guest come un'unica grande vcpu.

I processori Xeon Gold/Platinum possono avere frequenze di 3.6 o 3.8 Ghz ma hanno pochi core, sono pensati per server SQL dove servono grandi prestazioni e per contenere il numero di licenze.

Per la tua applicazione potrebbe avere più senso utilizzare uno di questi processori.

scanda

Rieditato : volevo dire che esistono versioni con pochi core e alte frequenze, il tutto per contenere il numero di licenze di alcune soluzioni SQL dove 1 core = 1 licenza.