vCPU: che cos’è una CPU virtuale?
La vCPU è la versione virtualizzata di una CPU fisica e rappresenta un elemento fondamentale del cloud computing. Tra i vantaggi di questo tipo di unità di calcolo virtualizzata c’è la sua buona scalabilità, motivo per cui svolge un ruolo importante, ad esempio, nell’ambito del cloud hosting.
Cos’è una vCPU?
Una vCPU (Virtual Central Processing Unit) è la versione virtualizzata di una CPU fisica. In altri termini, le vCPU sono le unità centrali di controllo delle macchine virtuali (VM) e degli ambienti cloud. Attualmente i processori multicore possono essere utilizzati non solo come singola vCPU, ma anche come base per più CPU virtuali. Il numero di vCPU potenziali non è vincolato al numero di core e thread (vedi multithreading), ma al risultato del seguente calcolo:
(thread x core) x CPU fisica = numero di vCPU
Dal punto di vista tecnico, le vCPU sono implementazioni software dei modelli fisici, i quali vengono percepiti dal rispettivo sistema operativo come veri e propri core di processore. Per ogni macchina virtuale è necessaria almeno una vCPU. In base allo scenario applicativo, tuttavia, possono essere assegnate anche più unità centrali di elaborazione virtuali, se i carichi di lavoro eseguiti su di esse lo richiedono.
Hai voglia di approfondire l’argomento? Consulta i nostri articoli sulla virtualizzazione e sulla virtualizzazione dei server per capire più in dettaglio quali sono le caratteristiche e le possibilità delle risorse informatiche virtuali.
Quali sono i vantaggi delle vCPU?
Le CPU virtuali apportano alcuni vantaggi cruciali rispetto alle CPU fisiche. Questi includono:
- maggiore scalabilità
- maggiore efficienza
- maggiore flessibilità
- costi più contenuti
Il vero punto di forza della virtualizzazione è l’eccellente scalabilità delle risorse hardware: le vCPU utilizzate in una macchina virtuale, ad esempio, possono provenire da diversi host fisici. Di conseguenza, le prestazioni dei processori possono essere facilmente scalate all’aumentare del carico di lavoro.
Nel momento in cui le vCPU non sono più necessarie, possono essere utilizzate per altre macchine virtuali. Questo aspetto può rivelarsi particolarmente utile per i provider di hosting, i quali hanno la possibilità di suddividere l’infrastruttura sottostante tra più clienti in modo particolarmente efficiente. L’utente, a sua volta, trae vantaggio dal fatto di poter scalare le vCPU in modo flessibile in base alle proprie necessità: non essendoci una configurazione hardware fissa, nel caso di soluzioni come server cloud o VPS la potenza di processore può essere facilmente aumentata o diminuita.
L’efficienza e la scalabilità 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 rispettivi software applicativi. In questo modo la potenza di calcolo disponibile viene sfruttata al meglio e in molti casi si risparmia sui costi per unhardware aggiuntivo.
Scopri quali differenze intercorrono tra le unità di elaborazione centrale virtualizzate e quelle fisiche nel nostro articolo “CPU e vCPU”.
Quali sono gli ambiti di utilizzo delle vCPU?
Le vCPU si rivelano fondamentali nel funzionamento del cloud computing. Laddove hardware e software sono resi disponibili nel cloud, si ricorre alle unità di calcolo virtuali, ad esempio nel contesto dell’archiviazione cloud, dell’hosting di server o quando si utilizza un computer cloud come Windows 365. Il numero di vCPU effettivamente necessario dipende dal rispettivo carico di lavoro: nella maggior parte degli scenari sono sufficienti da una a due vCPU. I carichi di lavoro più impegnativi, come ad esempio un database, un server di posta elettronica o un game server, richiedono requisiti più elevati, come nel caso delle unità di calcolo fisiche.
Un’ulteriore tecnologia di virtualizzazione che si affida alle vCPU sono le piattaforme container come Docker. Diversamente dalle macchine virtuali, però, qui non vengono virtualizzati sistemi completamente funzionali, ma solo singole applicazioni.
Come si calcolano le vCPU necessarie?
Per sfruttare al meglio i suoi punti di forza, la grande sfida posta da un ambiente virtualizzato è quella di fornire un numero sufficiente di vCPU senza sprecare potenza di calcolo. Per definire il numero di vCPU necessarie alle tue esigenze, puoi orientarti in base ai requisiti per l’installazione sull’hardware fisico. Se già il software (senza dimenticare 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ù applicazioni 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 diminuiscono e di conseguenza 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 prestazioni 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 installata. Le risorse così rese disponibili dovrebbero essere sufficienti per garantire il carico di lavoro.
- Parallelamente, è possibile utilizzare il core logico 1 e il core logico 3, ovvero il secondo core della CPU dual-core fisicamente installata, per una seconda macchina virtuale con carichi di lavoro non particolarmente impegnativi, ad esempio con un server DNS.
Ti piacerebbe ampliare le tue conoscenze in materia di processori e CPU? Dai un’occhiata ai seguenti articoli: