CPU vs. vCPU: Fyysisten ja virtuaalisten prosessorien vertailu
Suurin ero CPU:n ja vCPU:n välillä on se, että CPU on fyysinen laite, kun taas vCPU on ohjelmistopohjainen virtuaalinen versio. Nämä kaksi keskusyksikköä eroavat toisistaan myös suorituskyvyn ja käyttötarkoituksen suhteen.
Ero 1: Teknologinen perusta
CPU:n ja vCPU:n vertailussa ratkaiseva ero on tekninen. CPU on tietokoneen laitteisto, jota yleisesti kutsutaan ”prosessoriksi”. Nykyaikaisissa CPU:issa on yleensä useita ytimiä, joille ne voivat jakaa suoritettavat prosessit.
VCPU puolestaan on tietokoneen ohjausyksikön ohjelmistopohjainen variantti. Se ei ole fyysisessä muodossa, vaan perustuu fyysiseen CPU:hun. Vaatimuksista riippuen klassisesta fyysisestä CPU:sta voidaan johtaa useita vCPU:ita. Vaikka vCPU ei voi perustua useisiin fyysisiin CPU:ihin, vCPU voi käyttää fyysisen CPU:n useita ytimiä.
Luodakseen ja määrittääkseen vCPU:t virtuaalikoneelle (VM) hypervisorit käyttävät käytettävissä olevia fyysisten prosessorien ytimiä tai säikeitä.
Ero 2: Suorituskyky
Suorituskyvyn osalta huomaat selvän eron vCPU:iden ja CPU:iden prosessointitehossa. Tämä johtuu siitä, että vCPU:t ovat tarkkaan ottaen CPU:n ohjelmistopohjaisia alayksiköitä. Jos verrataan yhtä vCPU:ta ja yhtä CPU:ta, joilla on sama kellotaajuus (gigahertsi), virtualisoitu versio ei ole yhtä tehokas kuin sen laitteistoversio. Tämä johtuu osittain siitä, että fyysisen CPU:n kanssa koordinointi vie aikaa. Vaikka tämä vie usein vain vähän aikaa, se tulee huomatuksi, kun suoritetaan erityisen vaativia tehtäviä.
Lisäksi fyysinen CPU, jossa on alajaotellut ytimet ja säikeet, voi käsitellä useita ohjeita tai prosesseja suoraan ja samanaikaisesti. Tätä varten vCPU:ta olisi täydennettävä muilla vCPU:illa, mikä voi osoittautua varsin ongelmalliseksi. vCPU:iden määrän kasvaessa eri prosessien suoritusajan säätelystä tulee yhä monimutkaisempaa CPU-aikatauluttajalle. Tuloksena olevat odotusaajat tarkoittavat, että virtuaalisen CPU-verkon suorituskykyä ei voida hyödyntää täysimääräisesti.
Ero 3: Soveltamisala
CPU:t ovat perinteisen tietokoneen sydän. Ilman riittävää laskentatehoa PC-tietokoneet eivät pystyisi suorittamaan monia tehtäviä, kuten pelaamista, suoratoistoa, kuvien ja videoiden muokkausta sekä laskelmia. Fyysisiä CPU:ita käytetään myös monissa muissa jokapäiväisissä laitteissa, kuten kahvinkeittimissä, astianpesukoneissa, jääkaapeissa ja tietysti älypuhelimissa ja muissa mobiililaitteissa.
vCPU:t toimivat virtualisoitujen ympäristöjen keskeisenä laskentakomponenttina. Niitä voidaan käyttää myös lukuisissa käyttötapauksissa, kun kyseessä ovat omalla käyttöjärjestelmällä varustetut virtuaalikoneet. Erityisen suosittuja ovat testausympäristöt ja palvelin-/sovelluspalvelut, kuten tietokantapalvelimet, pilvitallennus ja virtuaaliset yksityispalvelimet (VPS). Tässä yhteydessä käy selväksi, että kyse ei ole niinkään CPU:n ja vCPU:n välisestä kilpailusta, vaan siitä, miten fyysinen ja virtualisoitu laskentateho voivat olla vuorovaikutuksessa keskenään. Taustalla olevaa fyysistä CPU:ta voidaan käyttää perustana useille virtualisoituneille ympäristöille, jotka toimivat samanaikaisesti useille käyttäjille. Tämä tekee vCPU:sta niin kiinnostavan palveluntarjoajille ja pilvipalvelujen käyttäjille.
Miten CPU:t muunnetaan vCPU:iksi?
Jos haluat käyttää tietokoneesi fyysistä CPU:ta yhden tai useamman virtuaalikoneen vCPU:iden tuottamiseen, voit käyttää seuraavaa kaavaa arvioidaksesi karkeasti tuotettavien vCPU:iden määrän:
(Säikeet x ytimet) x fyysisten CPU-yksiköiden lukumäärä = vCPU-yksiköiden lukumäärä
Esimerkiksi, jos olet asentanut neljän ytimen ja kahdeksan säikeen prosessorin, voit tarjota jopa 32 vCPU:ta:
(8 säiettä x 4 ydintä) x 1 = 32 vCPU:ta
Voit selvittää CPU:n ytimien ja säikeiden lukumäärän milloin tahansa muutamalla yksinkertaisella vaiheella. Jos käytät Windows-tietokonetta, voit toimia seuraavasti:
- Avaa Tehtävienhallinta näppäinyhdistelmällä Ctrl + Shift + Esc.
- Napsauta Suorituskyky -valikkoa.
- Siellä on luettelo tiedoista, joista löydät ytimien, loogisten prosessorien (säikeiden) ja liittimien (fyysisten CPU:iden) arvot.

Jos käytät Linux-käyttöjärjestelmää, voit selvittää CPU-tiedot terminaalin kautta seuraavalla komennolla:
lscpubash