Inace, kada smo kod performansi, baterija i sl... jos jedna stvar:
Ja koristim masinu sa 2 Xeon-a 2697, ukupno 24 jezgra / 48 niti. Ovo cu uskoro zameniti sa 2 Xeon-a 2699, ukupno 36 jezgra / 72 niti. Za moje potrebe mi je takav workstation potreban, i zbog toga ga i koristim.
Medjutim, sa druge strane, ne mogu da razumem opsesiju nekih mobilnih proizvodjaca sa jezgrima na mobilnim telefonima. Zbog nacina funkcionisanja mobilnih aplikacija i mobilnih OS-eva, dva jezgra imaju smisla i prirodno se uklapaju i bivaju iskoriscena.
Ideja vise jezgara ima smisla
ako softver koji trci ima konkretnu korist. Ka je to slucaj, veci broj jezgara moze cak uticati i pozitivno na potrosnju zato sto ce posao biti uradjen pre, a onda procesor moze sto pre da ide u neki od sleep stanja.
Kljucna rec ovde je: AKO. Ne znam arhitekturu Androida, pa mozda gresim, ali ja propustam da vidim kako tipicne aplikacije koje se vrte na Smartphone telefonima imaju korist i od 4, a kamo li 8 CPU jezgara.
Dva jezgra je skroz razumljivo: ne zaboravite da svi telefoni danas imaju zaseban procesor koji se bavi telefonskim operacijama (radio), tako da kompresija/dekompresija zvuka, komuniciranje sa mobilnom mrezom i sl... nisu posao glavnog CPU-a tj. SoC-a. Kako je to reseno, ostaju 2 stvari:
1. GUI / HMI
2. Biznis logika aplikacije
E, sad, ogromna vecina Smartphone aplikacija se svode na neku formu (GUI) sa kontrolama, nit koja reaguje na te kontrole, i eventualno neka dodatna nit koja implementira biznis logiku aplikacije ako treba da se radi nesto dodatno sto GUI nit ne radi. Recimo, VoIP aplikacije gde ce se u pozadini raditi A/V kodiranje.
Dakle, vasa GUI/HMI nit nije ugrozena od strane biznis logike / procesiranja koje se radi u drugoj niti. Kako obe niti trce na 2 razlicita jezgra, nema ugrozavanja performansi koje bi se videle kao zastajkivanje GUI-ja ili usporavanje procesiranja dok korisnik skroluje i sl...
Postoje napredne aplikacije, koje rade vise procesiranja naravno, ali i te aplikacije su mahom neka grafika, koja ce i ovako i onako offloaduje na dedicated hardver (GPU). Osim njih mozda ima neki niche market gde aplikacije zaista mogu da se "pruze" na 4 ili 8 jezgara koja ce opteretiti. Medjutim, ako se to zaista desi, baterija ce biti bukvalno pojedena za sat-dva.
OK, neko ce reci, pa sta - ako je CPU dobro izveden, sve i da tih 4/8 jezgra 99% vremena provode idle, nije lose da se nadju za onaj promil upotreba gde ce biti sva 4 / 8 jezgra iskoriscena.
E to je pitanje. 4 / 8 procesora zahtevaju dodatne interapt kontrolere i gomilu supporting komponenti. Takodje, thread scheduling mora biti daleko napredniji ako se zeli minimizovati potrosnja i koji ce sve vreme pokusavati da pogasi sto vise jezgara (tzv. "parkiranje") i "buditi" ih samo ako postoji neki intenzivan thread gde se isplati "upaliti" dodatno jezgro.
Sve to deluje prilicno dubiozno za smartphone. Za razliku od laptopova koji imaju ogromnu bateriju i termalni kapacitet koji moze da se izbori sa par desetina vati, mobilni telefoni ne mogu, zbog zakona fizike, da izigravaju nekakve radne stanice sa 8 jezgara gde se na tim jezgrima mogu raditi neki compute taskovi duze, zato sto bi baterija bila urnisana a termalni throttling skucao CPU na najnize frekvencije.
--
Najbolji pokazatelj koliko je cela stvar... besmislena je fakat da Samsung ima vise varijanti svojih S5 telefona, gde neki imaju 4 (Krait) a neki 8 jezgara (Exynos Octa). Nema boljeg znaka da "feature" ocigledno ne pravi neku razliku ni u cemu kada se isti telefon prodaje sa takvom razlikom "ispod haube" koja je relegirana u minorne regionalne specificnosti.
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos:
http://www.digicortex.net/node/17 Gallery:
http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! -
https://github.com/psyq321/PowerMonkey