Hlavný rozdiel medzi CPU a vCPU spočíva v tom, že CPU sú fyzickej povahy, zatiaľ čo vCPU sú virtuálnou variantou založenou na softvéri. Tieto dva typy centrálnych procesorových jednotiek sa líšia aj z hľadiska výkonu a spôsobu použitia.

Rozdiel 1: Technologický základ

Kľúčový rozdiel medzi CPU a vCPU je technický. CPU je súčasť počítačového hardvéru, ktorá sa bežne označuje ako „procesor“. Moderné CPU majú zvyčajne viacero jadier, medzi ktoré môžu distribuovať procesy, ktoré je potrebné vykonať.

Na druhej strane, vCPU je softvérová varianta riadiacej jednotky počítača. Neexistuje vo fyzickej podobe, ale je založená na fyzickej CPU. V závislosti od požiadaviek je možné z klasickej fyzickej CPU odviesť niekoľko vCPU. Hoci nie je možné, aby vCPU bola založená na viacerých fyzických CPU, vCPU môže využívať viacero jadier fyzickej CPU.

Na vytvorenie a priradenie vCPU k virtuálnemu stroju (VM) hypervizory pristupujú k jadrám alebo vláknam fyzických procesorov, ktoré sú k dispozícii.

Rozdiel 2: Výkon

Pokiaľ ide o výkon, všimnete si výrazný rozdiel v spracovateľskej kapacite vCPU a CPU. Je to spôsobené tým, že vCPU sú, presne povedané, softvérové podjednotky CPU. Ak porovnáte jedno vCPU a jedno CPU s rovnakou taktovacou frekvenciou (gigahertz), virtualizovaná varianta nie je tak výkonná ako jej hardvérový ekvivalent. Čiastočne je to spôsobené tým, že koordinácia s fyzickým CPU trvá určitý čas. Hoci je tento čas často zanedbateľný, stáva sa badateľným pri vykonávaní obzvlášť náročných úloh.

Okrem toho fyzický procesor s rozdelenými jadrami a vláknami môže spracovávať niekoľko inštrukcií alebo procesov priamo a súčasne. Na to by bolo potrebné doplniť vCPU o ďalšie vCPU, čo môže byť pomerne problematické. S rastúcim počtom vCPU sa regulácia času vykonávania rôznych procesov stáva pre plánovač procesora čoraz zložitejšou. Výsledné čakacie doby znamenajú, že výkon virtuálnej siete procesorov nemožno využiť na maximum.

Rozdiel 3: Oblasť použitia

Procesory sú srdcom klasického počítača. Bez dostatočného výpočtového výkonu by počítače neboli schopné vykonávať širokú škálu úloh, ako sú hranie hier, streamovanie, úprava obrázkov a videí a výpočty. Fyzické procesory sa používajú aj v mnohých iných bežných zariadeniach, ako sú kávovary, umývačky riadu, chladničky a samozrejme smartfóny a iné mobilné zariadenia.

vCPU preberajú úlohu centrálnej výpočtovej komponenty vo virtualizovaných prostrediach. Množstvo scenárov použitia možno pokryť aj v prípade virtuálnych strojov s vlastným operačným systémom. Obzvlášť populárne sú testovacie prostredia a hosting serverov/aplikácií, ako sú databázové servery, cloudové úložisko a virtuálne súkromné servery (VPS). Tu je celkom jasné, že nejde ani tak o porovnanie CPU a vCPU, ale skôr o to, ako fyzický a virtualizovaný výpočtový výkon môžu vzájomne interagovať. Základný fyzický CPU môže slúžiť ako základ pre viacero virtualizovaných prostredí, ktoré bežia súčasne pre viacerých používateľov. Práve to robí vCPU tak zaujímavými pre poskytovateľov a používateľov cloudových služieb.

Ako sa CPU prevádzajú na vCPU?

Ak chcete použiť fyzický procesor svojho počítača na poskytovanie vCPU pre jeden alebo viacero virtuálnych strojov, môžete pomocou nasledujúceho vzorca približne vypočítať počet vCPU, ktoré je možné poskytnúť:

(vlákna x jadrá) x fyzický počet procesorov = počet virtuálnych procesorov

Napríklad, ak ste nainštalovali procesor so štyrmi jadrami a ôsmimi vláknami, môžete poskytnúť až 32 vCPU:

(8 vlákien x 4 jadrá) x 1 = 32 vCPU

Počet jadier a vlákien vášho procesora môžete zistiť kedykoľvek v niekoľkých krokoch. Ak pracujete na počítači so systémom Windows, postupujte takto:

  1. Pomocou kombinácie klávesov Ctrl + Shift + Esc otvorte Správcu úloh.
  2. Kliknite na ponuku Výkon.
  3. Tam by ste mali nájsť zoznam informácií, kde nájdete hodnoty pre jadrá, logické procesory (vlákna) a pätice (fyzické procesory).
Obrázok: Windows Task Manager: CPU information
Windows Task Manager: CPU information

Ak používate operačný systém Linux, informácie o procesore môžete zistiť prostredníctvom terminálu a pomocou nasledujúceho príkazu:

lscpu
bash
Prejsť na hlavné menu