A principal diferença entre CPU e vCPU é que a CPU existe fi­si­ca­mente, enquanto a sua variante virtual, a vCPU, é uma cons­tru­ção de software. Os dois tipos de unidade central de pro­ces­sa­mento também diferem em termos de de­sem­pe­nho e aplicação.

Diferença 1. Base técnica

Ao comparar CPU e vCPU, a principal diferença é de natureza técnica: uma CPU é um hardware para com­pu­ta­do­res, também conhecido como «pro­ces­sa­dor». As CPUs modernas costumam ter vários núcleos entre os quais os di­fe­ren­tes processos podem ser dis­tri­buí­dos para execução.

Por outro lado, uma vCPU é uma unidade central de pro­ces­sa­mento cons­truída ex­clu­si­va­mente a partir de software. Ao contrário da CPU, a vCPU não existe fi­si­ca­mente, mas é baseada numa CPU física. Se ne­ces­sá­rio, é possível derivar várias vCPUs de uma única CPU física clássica. No entanto, uma vCPU não pode utilizar várias CPUs físicas, embora possa utilizar vários núcleos de uma CPU física.

A criação e atri­bui­ção de vCPU a uma máquina virtual (VM) é realizada através do acesso dos hi­per­vi­so­res aos núcleos ou threads dos pro­ces­sa­do­res físicos dis­po­ní­veis.

Diferença 2. De­sem­pe­nho

O facto de as vCPUs serem su­bu­ni­da­des baseadas em software de uma CPU tem con­sequên­cias sig­ni­fi­ca­ti­vas em termos de de­sem­pe­nho. Na com­pa­ra­ção «CPU vs. vCPU», quando se compara uma única vCPU com uma CPU física que tem a mesma frequên­cia de clock (gigahertz), a variante virtual não é tão potente quanto a sua equi­va­lente em hardware. Isto deve-se, em parte, ao facto de a co­or­de­na­ção com a CPU física exigir um esforço adicional, es­pe­ci­al­mente em tarefas muito exigentes.

Além disso, uma CPU física com os seus núcleos e threads sub­di­vi­di­dos pode processar várias ins­tru­ções ou processos de forma direta e si­mul­tâ­nea. Para obter uma fun­ci­o­na­li­dade se­me­lhante com uma vCPU, esta deve ser com­ple­men­tada com mais vCPUs, o que também apresenta algumas pequenas des­van­ta­gens em relação a uma CPU física. Uma des­van­ta­gem é que, à medida que o número de vCPUs aumenta, a tarefa de regular a execução tem­po­rá­ria dos di­fe­ren­tes processos torna-se cada vez mais complexa para o planeador da CPU res­pon­sá­vel. Como resultado, ocorrem tempos de espera que impedem o apro­vei­ta­mento máximo da ca­pa­ci­dade de de­sem­pe­nho do conjunto de CPUs vir­tu­a­li­za­das.

Diferença 3. Áreas de aplicação

As CPUs re­pre­sen­tam o coração dos com­pu­ta­do­res clássicos. Sem ca­pa­ci­dade de pro­ces­sa­mento su­fi­ci­ente, os com­pu­ta­do­res que temos em casa ou no trabalho não poderiam realizar tarefas tão diversas como jogar, fazer streaming, editar imagens e vídeos ou realizar cálculos. As CPUs físicas também são uti­li­za­das em muitos outros dis­po­si­ti­vos do quo­ti­di­ano, como máquinas de café, máquinas de lavar louça, fri­go­rí­fi­cos e, claro, smartpho­nes e outros dis­po­si­ti­vos móveis.

As vCPUs de­sem­pe­nham um papel crucial como com­po­nente central de pro­ces­sa­mento em ambientes vir­tu­a­li­za­dos. Também são uti­li­za­das numa ampla variedade de tarefas dentro de máquinas virtuais com os seus próprios sistemas ope­ra­ti­vos. Os cenários mais comuns para a uti­li­za­ção de vCPUs são em ambientes de teste, na hos­pe­da­gem de ser­vi­do­res ou apli­ca­ções, como ser­vi­do­res de bases de dados, ar­ma­ze­na­mento na nuvem ou ser­vi­do­res virtuais (VPS).

É im­por­tante ressaltar que não é tão im­por­tante a com­pa­ra­ção entre CPU e vCPU, mas sim a interação entre a ca­pa­ci­dade de pro­ces­sa­mento físico e vir­tu­a­li­zado: a CPU física sub­ja­cente pode servir de base para vários ambientes vir­tu­a­li­za­dos que funcionam si­mul­ta­ne­a­mente para di­fe­ren­tes uti­li­za­do­res, o que torna as vCPUs es­pe­ci­al­mente atraentes para for­ne­ce­do­res e uti­li­za­do­res de serviços em nuvem.

CPU vs. vCPU: como converter CPU em vCPU

Se pretender utilizar a CPU física do seu com­pu­ta­dor para criar vCPU para uma ou mais máquinas virtuais, pode aplicar uma taxa de conversão se­me­lhante à seguinte:

(threads x núcleos) x CPU física = número de vCPU

Por exemplo, se a sua CPU tiver quatro núcleos e oito threads, poderá ter até 32 vCPUs:

(8 fios x 4 núcleos) x 1 = 32 vCPU

Pode verificar o número de núcleos e threads da sua CPU a qualquer momento, basta seguir alguns passos simples. Se estiver a utilizar um PC com Windows, siga as ins­tru­ções abaixo:

  1. Utilize a com­bi­na­ção de teclas Ctrl + Shift + Esc para abrir o gestor de tarefas.
  2. Selecione o separador**«De­sem­pe­nho**».
  3. Na secção de in­for­ma­ções for­ne­ci­das pelo gestor de tarefas, en­con­trará o número de núcleos, threads (“Pro­ces­sa­do­res lógicos”) e CPUs físicas (“Sockets”).
Imagem: Administrador de tareas de Windows: información de la CPU
Ad­mi­nis­tra­dor de tareas de Windows: in­for­ma­ción de la CPU

Se estiver a utilizar um sistema operativo Linux, pode obter in­for­ma­ções sobre a sua CPU in­tro­du­zindo o seguinte comando no terminal:

lscpu
bash
Ir para o menu principal