La vCPU è la versione vir­tua­liz­za­ta di una CPU fisica e rap­pre­sen­ta un elemento fon­da­men­ta­le del cloud computing. Tra i vantaggi di questo tipo di unità di calcolo vir­tua­liz­za­ta c’è la sua buona sca­la­bi­li­tà, motivo per cui svolge un ruolo im­por­tan­te, ad esempio, nell’ambito del cloud hosting.

Cos’è una vCPU?

Una vCPU (Virtual Central Pro­ces­sing Unit) è la versione vir­tua­liz­za­ta di una CPU fisica. In altri termini, le vCPU sono le unità centrali di controllo delle macchine virtuali (VM) e degli ambienti cloud. At­tual­men­te i pro­ces­so­ri multicore possono essere uti­liz­za­ti non solo come singola vCPU, ma anche come base per più CPU virtuali. Il numero di vCPU po­ten­zia­li non è vincolato al numero di core e thread (vedi mul­ti­th­rea­ding), ma al risultato del seguente calcolo:

(thread x core) x CPU fisica = numero di vCPU

Dal punto di vista tecnico, le vCPU sono im­ple­men­ta­zio­ni software dei modelli fisici, i quali vengono percepiti dal ri­spet­ti­vo sistema operativo come veri e propri core di pro­ces­so­re. Per ogni macchina virtuale è ne­ces­sa­ria almeno una vCPU. In base allo scenario ap­pli­ca­ti­vo, tuttavia, possono essere assegnate anche più unità centrali di ela­bo­ra­zio­ne virtuali, se i carichi di lavoro eseguiti su di esse lo ri­chie­do­no.

Consiglio

Hai voglia di ap­pro­fon­di­re l’argomento? Consulta i nostri articoli sulla vir­tua­liz­za­zio­ne e sulla vir­tua­liz­za­zio­ne dei server per capire più in dettaglio quali sono le ca­rat­te­ri­sti­che e le pos­si­bi­li­tà delle risorse in­for­ma­ti­che virtuali.

Quali sono i vantaggi delle vCPU?

Le CPU virtuali apportano alcuni vantaggi cruciali rispetto alle CPU fisiche. Questi includono:

  • maggiore sca­la­bi­li­tà
  • maggiore ef­fi­cien­za
  • maggiore fles­si­bi­li­tà
  • costi più contenuti

Il vero punto di forza della vir­tua­liz­za­zio­ne è l’ec­cel­len­te sca­la­bi­li­tà delle risorse hardware: le vCPU uti­liz­za­te in una macchina virtuale, ad esempio, possono provenire da diversi host fisici. Di con­se­guen­za, le pre­sta­zio­ni dei pro­ces­so­ri possono essere fa­cil­men­te scalate all’aumentare del carico di lavoro.

Nel momento in cui le vCPU non sono più ne­ces­sa­rie, possono essere uti­liz­za­te per altre macchine virtuali. Questo aspetto può rivelarsi par­ti­co­lar­men­te utile per i provider di hosting, i quali hanno la pos­si­bi­li­tà di sud­di­vi­de­re l’in­fra­strut­tu­ra sot­to­stan­te tra più clienti in modo par­ti­co­lar­men­te ef­fi­cien­te. L’utente, a sua volta, trae vantaggio dal fatto di poter scalare le vCPU in modo fles­si­bi­le in base alle proprie necessità: non essendoci una con­fi­gu­ra­zio­ne hardware fissa, nel caso di soluzioni come server cloud o VPS la potenza di pro­ces­so­re può essere fa­cil­men­te aumentata o diminuita.

L’ef­fi­cien­za e la sca­la­bi­li­tà delle vCPU si traducono in un vantaggio in termini di costi. Su un singolo sistema di hosting possono essere eseguiti diversi sistemi operativi con i ri­spet­ti­vi software ap­pli­ca­ti­vi. In questo modo la potenza di calcolo di­spo­ni­bi­le viene sfruttata al meglio e in molti casi si risparmia sui costi per unhardware ag­giun­ti­vo.

Consiglio

Scopri quali dif­fe­ren­ze in­ter­cor­ro­no tra le unità di ela­bo­ra­zio­ne centrale vir­tua­liz­za­te e quelle fisiche nel nostro articolo “CPU e vCPU”.

Quali sono gli ambiti di utilizzo delle vCPU?

Le vCPU si rivelano fon­da­men­ta­li nel fun­zio­na­men­to del cloud computing. Laddove hardware e software sono resi di­spo­ni­bi­li nel cloud, si ricorre alle unità di calcolo virtuali, ad esempio nel contesto dell’ar­chi­via­zio­ne cloud, dell’hosting di server o quando si utilizza un computer cloud come Windows 365. Il numero di vCPU ef­fet­ti­va­men­te ne­ces­sa­rio dipende dal ri­spet­ti­vo carico di lavoro: nella maggior parte degli scenari sono suf­fi­cien­ti da una a due vCPU. I carichi di lavoro più im­pe­gna­ti­vi, come ad esempio un database, un server di posta elet­tro­ni­ca o un game server, ri­chie­do­no requisiti più elevati, come nel caso delle unità di calcolo fisiche.

Un’ulteriore tec­no­lo­gia di vir­tua­liz­za­zio­ne che si affida alle vCPU sono le piat­ta­for­me container come Docker. Di­ver­sa­men­te dalle macchine virtuali, però, qui non vengono vir­tua­liz­za­ti sistemi com­ple­ta­men­te fun­zio­na­li, ma solo singole ap­pli­ca­zio­ni.

Come si calcolano le vCPU ne­ces­sa­rie?

Per sfruttare al meglio i suoi punti di forza, la grande sfida posta da un ambiente vir­tua­liz­za­to è quella di fornire un numero suf­fi­cien­te di vCPU senza sprecare potenza di calcolo. Per definire il numero di vCPU ne­ces­sa­rie alle tue esigenze, puoi orien­tar­ti in base ai requisiti per l’in­stal­la­zio­ne sull’hardware fisico. Se già il software (senza di­men­ti­ca­re il sistema operativo) di per sé richiede otto core fisici, ad esempio, occorre assegnare otto vCPU all’ambiente virtuale.

Se le esigenze dovessero aumentare nel tempo, ad esempio perché si eseguono più ap­pli­ca­zio­ni in parallelo o perché il progetto diventa più complesso, basterà aumentare il numero di vCPU. La stessa cosa vale per il caso opposto, ovvero quando i requisiti di­mi­nui­sco­no e di con­se­guen­za serve meno potenza di calcolo.

Per i carichi di lavoro ad alta intensità di calcolo, è cruciale che le vCPU vengano assegnate a diverse CPU fisiche. Ad esempio, in presenza di un hardware con una CPU dual-core (2 core fisici e 4 logici) come punto di partenza, per motivi di pre­sta­zio­ni occorre dividere i quattro core logici come segue:

  • Alla prima macchina virtuale vengono assegnati il core logico 0 e il core logico 2. Si tratta del primo core della CPU fisica dual-core in­stal­la­ta. Le risorse così rese di­spo­ni­bi­li do­vreb­be­ro essere suf­fi­cien­ti per garantire il carico di lavoro.
  • Pa­ral­le­la­men­te, è possibile uti­liz­za­re il core logico 1 e il core logico 3, ovvero il secondo core della CPU dual-core fi­si­ca­men­te in­stal­la­ta, per una seconda macchina virtuale con carichi di lavoro non par­ti­co­lar­men­te im­pe­gna­ti­vi, ad esempio con un server DNS.
Consiglio

Ti pia­ce­reb­be ampliare le tue co­no­scen­ze in materia di pro­ces­so­ri e CPU? Dai un’occhiata ai seguenti articoli:

Vai al menu prin­ci­pa­le