2013. június 29., szombat

Az üzemidő és a big.LITTLE

A felhasználók igényeit évről-évre nehezebb kielégíteni, hiszen mit várunk el a mobilgyártóktól? Forradalmian új dizájnt, már-már a PC-k teljesítményével vetekedő mobil lapkákat, új verziót az általunk preferált operációs rendszerből és ami a legfontosabb, kiváló üzemidőt. Ez utóbbi már évek óta téma a fórumokban mondván, az erővel párhuzamosan ez az egyik legfontosabb követelményünk. Az idei évtől egyre inkább fókuszba kerül a gyártóknál is a kérdés, így nagyobb hangsúlyt fektetnek a big.LITTLE technológia tökéletesítésére.

A bejegyzést egy a Google+-on terjedő kép ihlette, amely a népszerű okostelefon modellek üzemidejét próbálja meg ábrázolni különböző folyamatok mellett (nekem azért hiányzik az statisztikából a Note 2 és a Razr Maxx).


Ez nem csak a "régimódi" felhasználók hóbortja, valljuk be hogy a többségünk napközben néhányszor ránéz az akkumulátor értékére és a különböző applikációk/folyamatok fogyasztási adataira. Én is ilyen vagyok, és nekem is fontos az üzemidő még akkor is, ha a nap túlnyomó részét olyan helyen töltöm, ahol lehetőségem van tölteni az Galaxy S3-som. Nálam az átlag majdnem két nap, de ez így egy picit csalóka. Nagyjából este 11 körül átváltom airplane üzemmódba és reggel 7 kor vissza, így körülbelül 30-35 óránként töltöm, amivel teljes mértékben ki vagyok békülve, de extrém esetekben (szabadság ideje alatt, házon kívül) ez lecsökkenhet 22-25 óra környékére (nem vagyok egy "hardcore júzer", ritkán játszok, és szeretem a Taskert :).

A big.LITTLE
Már a Tegra 3 bemutatásakor is jelen volt a koncepció, hiszen az akkori lapkákban 4 mag mellett volt egy ötödik kisegítő mag is, ami növelte az üzemidőt, de az igazi megvalósítás idén, a Samsung Galaxy S4 Exynos 5 Octa SoC-jával érkezett el. A 4+4 magos architektúránál soha nem dolgozik együtt mind a nyolc vezérlő, mivel itt 4 nagy teljesítményű és fogyasztású ARM Cortex-A15-ös mag mellett 4 gyengébb (de nem olyan gyenge), energiatakerékos Cortex-A7 mag helyezkedik el. A megoldással sikerült előállítani egy olyan lapkát, amely a nyers erő mellett energiahatékony működést biztosít. A jövőben valószínűleg ez lesz a meghatározó technológia a mobil eszközök fejlesztésénél, de hasznos lehet mikroszervereknél is, amelyeknél egyre többször kerül szóba az ARM neve.



Miért a jövő? Jelen pillanatban a Cortex-A15-ös magok a leggyorsabbak és legerősebbek az ARM jóvoltából, de a jövőben érkeznek majd a Cortex-A53 és Cortex-A57-es magok, amik szintén megfelelnek majd a célnak. Ez azért is fontos, mert a big.LITTLE funkció megvalósítása még korántsem tökéletes.

Hogy is működik?
A tervek alapján a gyakorlatban a következőképpen működik ez a fajta mechanizmus. Az ARM által írt firmware (ezen a gyártók változtathatnak) algoritmusai figyelik a kiadott utasításokat, és annak nehézségének függvényében eldöntik, hogy az nagyobb teljesítményű magoknak vagy az energiatakarékosabbaknak adják ki azok végrehajtását. Ennek a tömbök közötti váltásnak (CoreLink segítségével) három különböző megvalósítása van: Cluster, Magalapú, Heterogén.

A jelen pillanatban kereskedelmi forgalomban is kapható megvalósítás a Samsung Galaxy S4 Exynos 5 Octa nevéhez fűződik, ami valójában a legegyszerűbb. A koreai cég csúcsmodellje a Cluster migrációt alkalmazza, ami a következő elvet képviseli: két MPCore tömb van jelen (esetünkben Cortex-A15 és A7), amelyekben ugyanannyi mag van jelen. A kiadott utasítás függvényében "A" vagy "B" tömb hajtja végre azt, ahol a váltás egyszerű, hiszen csak teljesítménybeli különbség van köztük. Ez hasznos, és előrelépésnek számít, de messze nem tökéletes.



A tudomány jelen állása szerint a legjobb megoldás a Heterogén migráció lenne. Ennek megvalósítása azonban nem olyan egyszerű, ráadásul több gátló tényező is van. Egyrészről a gyártónak mélyebben bele kellene nyúlnia az ARM firmware-jébe, ráadásul az operációs rendszert forrását is fel kellene "dúlni" annak érdekében, hogy ez tökéletesen működjön. Az elv szerint, az összes mag látszódna az OS felé, de a kernelnek tudnia kellene, hogy ezek nem egyenlő vezérlők. Ez azért fontos, mert egy teljesítmény igényes feladatnál nagyon nem mindegy, hogy melyikek dolgoznak. Ugyanez a probléma fennállna fordított esetben is. Ez az, amit per pillanat sem az Android, sem pedig a mögötte álló Linux kernel nem támogat, következésképp, egyelőre felesleges lenne a gyártók részéről ezzel a megoldással kiadniuk mobilt vagy tabletet.

Összegzésképpen annyit mondanék, hogy érződik a gyártók részéről az ambíció az üzemidő terén, de sajnos a technika még nincs felkészítve a mindennapos használatra, ráadásul a mostani próbálkozások is csak a high-end modelleknél van jelen. Remélem, hogy az elkövetkező néhány évben végre a magok és teljesítmény fokozása háttérbe szorul az ilyen ötletes és valóban hasznos megoldásokkal szemben.

Bazsa

Elméleti háttér: Google+, Prohardver, ARM
Hiba, észrevétel esetén kérlek használd a komment mezőt ;)

Nincsenek megjegyzések:

Megjegyzés küldése