Galvenā atšķirība starp CPU un vCPU ir tā, ka CPU ir fiziskas, bet vCPU ir virtuālas, kas balstās uz prog­ram­ma­tū­ru. Abas centrālo procesoru vienību veidi atšķiras arī pēc veikt­spē­jas un lie­to­ša­nas veida.

Atšķirība Nr. 1: Teh­no­lo­ģis­kā bāze

Būtiskā atšķirība starp CPU un vCPU ir tehniskā. CPU ir datora ap­ara­tū­ras daļa, ko parasti sauc par „procesoru”. Mūsdienu CPU parasti ir vairāki kodoli, uz kuriem tie var sadalīt veicamos procesus.

Savukārt vCPU ir datora vadības bloka prog­ram­ma­tū­ras variants. Tas nepastāv fiziskā formā, bet balstās uz fizisko CPU. Atkarībā no prasībām, no klasiskā fiziskā CPU var atvasināt vairākus vCPU. Lai gan vCPU nevar bal­stī­ties uz vairākiem fiziskiem CPU, vCPU var izmantot vairākus fiziskā CPU kodolus.

Lai izveidotu un piešķirtu vCPU vir­tuā­la­jai mašīnai (VM), hi­per­vī­zo­ri piekļūst pie pie­eja­ma­jiem fizisko procesoru kodoliem vai pa­ve­die­niem.

Atšķirība Nr. 2: Veikt­spē­ja

Runājot par veikt­spē­ju, jūs pa­ma­nī­siet ie­vē­ro­ja­mu atšķirību vCPU un CPU apstrādes jaudas iespējās. Tas ir saistīts ar to, ka vCPU, strikti runājot, ir CPU prog­ram­ma­tū­ras ap­akš­vie­nī­bas. Ja sa­lī­dzi­nāt vienu vCPU un vienu CPU ar tādu pašu takts frekvenci (gi­ga­her­cos), vir­tua­li­zē­tā versija nav tik jaudīga kā tās ap­ara­tū­ras ek­vi­va­lents. Daļēji tas ir saistīts ar to, ka koor­di­nā­ci­ja ar fizisko CPU prasa laiku. Lai gan šim procesam ne­pie­cie­ša­mais laiks bieži vien ir niecīgs, tas kļūst pamanāms, veicot īpaši sa­rež­ģī­tas uzdevumus.

Turklāt fiziskais procesors ar sa­da­lī­tiem kodoliem un pa­ve­die­niem var apstrādāt vairākas ins­truk­ci­jas vai procesus tieši un vien­lai­kus. Lai to izdarītu, vCPU būtu jā­pa­pil­di­na ar papildu vCPU, kas var iz­rā­dī­ties diezgan prob­le­mā­tis­ki. Ar vCPU skaita pieaugumu dažādu procesu izpildes laika re­gu­lē­ša­na kļūst arvien sa­rež­ģī­tā­ka procesora plā­no­tā­jam. Rezultātā rodas gai­dī­ša­nas laiki, kas nozīmē, ka virtuālā procesora tīkla veikt­spē­ju nevar izmantot pilnībā.

Atšķirība 3: Pie­mē­ro­ša­nas joma

Procesori ir klasiskā datora sirds. Bez pie­tie­ka­mas skait­ļo­ša­nas jaudas per­so­nā­lie datori nespētu veikt plašu uzdevumu klāstu, piemēram, spēlēt spēles, straumēt, rediģēt attēlus un vi­deok­li­pus, kā arī veikt aprēķinus. Fiziskie procesori tiek izmantoti arī daudzās citās ikdienā lie­to­ja­mās ierīcēs, piemēram, kafijas mašīnās, trauku maz­gā­ja­mās mašīnās, le­dus­skap­jos un, protams, viedtāl­ru­ņos un citās mobilajās ierīcēs.

vCPU uzņemas centrālās aprēķinu kom­po­nen­tes lomu vir­tua­li­zē­tās vidēs. Daudzi lie­to­ša­nas scenāriji var tikt aptverti arī attiecībā uz vir­tuā­la­jām mašīnām ar savu ope­rē­tājsis­tē­mu. Īpaši populāras ir tes­tē­ša­nas vides un serveru/lie­to­jum­prog­ram­mu hostings, piemēram, datu bāzes serveri, mā­ko­ņuz­gla­bā­ša­na un virtuālie privātie serveri (VPS). Šeit kļūst skaidrs, ka galvenais jautājums nav CPU pret vCPU, bet gan tas, kā fiziskā un vir­tua­li­zē­tā aprēķinu jauda var mi­jie­dar­bo­ties viena ar otru. Pamata fizisko CPU var izmantot kā pamatu vairākām vir­tua­li­zē­tām vidēm, kas darbojas vien­lai­kus vairākiem lie­to­tā­jiem. Tas padara vCPU tik in­te­re­san­tas pa­kal­po­ju­mu snie­dzē­jiem un tiem, kas izmanto mā­koņ­pa­kal­po­ju­mus.

Kā CPU tiek pārvērsti vCPU?

Ja vēlaties izmantot datora fizisko procesoru, lai no­dro­ši­nā­tu vCPU vienai vai vairākām vir­tuā­la­jām mašīnām, var izmantot šādu formulu, lai aptuveni ap­rē­ķi­nā­tu vCPU skaitu, ko var no­dro­ši­nāt:

(Vītnes x kodoli) x fizisko CPU skaits = vCPU skaits

Piemēram, ja esat in­sta­lē­jis procesoru ar četriem kodoliem un astoņiem pa­ve­die­niem, varat no­dro­ši­nāt līdz 32 vCPU:

(8 pavedieni x 4 kodoli) x 1 = 32 vCPUs

Jūs varat uzzināt savas CPU kodolu un pavedienu skaitu jebkurā brīdī, veicot tikai dažus soļus. Ja strādājat ar Windows datoru, varat veikt šādus soļus:

  1. Lai atvērtu uzdevumu pār­val­dnie­ku, iz­man­to­jiet taustiņu kom­bi­nā­ci­ju Ctrl + Shift + Esc.
  2. No­klik­šķi­niet uz izvēlnes Per­for­man­ce (Veikt­spē­ja).
  3. Tur jūs at­ra­dī­siet in­for­mā­ci­jas sarakstu, kurā ir norādītas kodolu, loģisko procesoru (pavedienu) un ligzdu (fizisko CPU) vērtības.
Image: Windows Task Manager: CPU information
Windows Task Manager: CPU in­for­ma­tion

Ja iz­man­to­jat Linux ope­rē­tājsis­tē­mu, varat uzzināt in­for­mā­ci­ju par procesoru, iz­man­to­jot termināli un šādu komandu:

lscpu
bash
Go to Main Menu