Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,811,776 Members 53,775 Now Online
XDA Developers Android and Mobile Development Forum

[Info] Exynos Octa and why you need to stop the drama about the 8 cores [Upd 25/05]

Tip us?
 
AndreiLux
Old
(Last edited by AndreiLux; 25th May 2013 at 02:55 AM.)
#1  
AndreiLux's Avatar
Senior Member - OP
Thanks Meter 13,675
Posts: 2,780
Join Date: Jul 2011

 
DONATE TO ME
Default [Info] Exynos Octa and why you need to stop the drama about the 8 cores [Upd 25/05]

I'm going to write this as an guide/information page so we stop as soon as possible the stupid discussions about how 8 cores are useless.

[Update 25/05]

The below information was based on how things should have been. Reality is the Exynos 5410 has some serious issues with its cache coherent interconnect / CCI which cripples the chip to only cluster migration, effectively making the major parts of the big.LITTLE operating scheme useless. This is an issue in silicon which cannot be solved.

[/update]

What's it all about?

The Exynos Octa or Exynos 5410 is a big.LITTLE design engineered by ARM and is the first consumer implementation of this technology. Samsung was their lead partner in terms of bringing this to market first. Reneseas is the other current chip designer who has publicly announced a big.LITTLE design.
  • Misconception #1: Samsung didn't design this, ARM did. This is not some stupid marketing gimmick.

The point of the design is to meld the advantages of the A7 processor architectures, with its extreme power efficiency, with the A15 architecture, with extreme performance at a cost of power consumption. The A7 cores are slightly slower than an A9 equivalent, but using much less power. The A15 cores are in another ballpark in terms of performance but their power consumption is also extreme on this current manufacturing generation.

The effective goal is to achieve the best of both worlds. Qualcomm on the other does this by using their own architecture which is similar in some design aspects to the A15 architecture, but compromises on feature and performance to achieve higher power efficiency. The end result is for the user can be expressed in 2 measurements: IPC (Instrucitons per clock), and Perf/W (Performance per Watt).

In terms of IPC, the A15 leads the pack by quite a margin, followed by Krait 400, Krait 300, Krait 200, A9, A7, and A8 cores, in that order.
In terms of Perf/W, the A7 leads by a margin, followed by A9's and the Krait cores, with the A15 at a distant last in terms of efficiency.


Real-world use

Of course, the Exynos Octa is the first to use this:



Currently, the official word seems to be that the A7 cluster is configured to run from 200 to 1200MHz, and the A15 cluster from 200 to 1600MHz.

There are several use-cases of how the design can be used, and it is purely limited by software, as the hardware configuration is completely flexible.



In-Kernel Switcher (IKS)

This is what most of us will see this in our consumer products this year; Effectively, you only have a virtual quad-core processor. The A15 cores are paired up with the A7 core clusters. Each A15 has a corresponding A7 "partner". Hardware wise, this pair-up has no physical representation as provided by an actual die-shot of the Exynos Octa.

The IKS does the same thing as a CPU governor. But instead of switching CPU frequency depending on the load, it will switch between CPUs.



Effecively, you are jumping from one performance/power curve to another: And that's it. Nothing more, nothing less.

The actual implementation is a very simple driver on the side of the kernel which measures load and acts much like a CPU governor.



The above is a demonstration; you can see how at most times the A7 cores are used for video playback, simple tasks, and miscellaneous computations. The A15 cores will kick in when there is more demanding load being processed, and then quickly drop out again to the A7 cores when it's not doing much anymore.
  • Misconception #2: You DON'T need to have all 8 cores online, actually, only maximum 4 cores will ever be online at the same time.
  • Misconception #3: If the workload is thread-light, just as we did hot-plugging on previous CPUs, big.LITTLE pairs will simply remain offline under such light loads. There is no wasted power with power-gating.
  • Misconception #4: As mentioned, each pair can switch independently of other pairs. It's not he whole cluster who switches between A15 and A7 cores. You can have only a single A15 online, together with two A7's, while the fourth pair is completely offline.
  • Misconception #5: The two clusters have their own frequency planes. This means A15 cores all run on one frequency while the A7 cores can be running on another. However, inside of the frequency planes, all cores run at the same frequency, meaning there is only one frequency for all cores of a type at a time.


Heterogeneous Multi-Processing (HMP)

This is the other actual implemented function mode of a big.LITTLE CPU. In this case, all 8 cores can be used simultaneously by the system.

This is a vastly more complex working mechanism, and its implementation is also an order of magnitude more sophisticated. It requires the kernel scheduler to actually be aware of the differentiation of between the A7 and A15 cores. Currently, the Linux kernel is not capable of doing this and treats all CPUs as equals. This is a problem since we do not want to use the A15 cores when a task can simply me processed on an A7 core with a much lower power cost.

The Linaro working-group already finished the first implementation of the HMP design as a series of patches to be applied against the Linux 3.8 kernel. What they did is to make the scheduler smart enough to be able to track the load of single process entities, and with that information to schedule the threads smartly on either the A7 cores or the A15 cores. This achieves much lower latency in terms of switching workloads, or better said, switching the environments (CPUs) to the respective work-loads, and exposes the full processing capabilities of the silicon as all cores can be used at once.

You can follow the advancements of this in the publications of the Linaro Connect summits that happen every few months. The code was only published in the middle of February this year for the first working implementation equivalent in power consumption to the IKS.
  • Misconception #6: Yes the CPU is a true 8-core processor. It's just not being used a such in its initial software implementations
The Following 257 Users Say Thank You to AndreiLux For This Useful Post: [ Click to Expand ]
 
TingTingin
Old
#2  
TingTingin's Avatar
Recognized Contributor
Thanks Meter 1,236
Posts: 3,164
Join Date: Aug 2012
Location: Point Fortin
Default Re: [Info] Exynos Octa and why you need to stop the drama about the 8 cores

Will link to this in my info thread

[Center]PHONE SLOW CLICK ME?
1 days 2 s4

 
Ubuntu phone OS announced

what do u think share your thoughts --->HERE<---
 
yahyoh
Old
#3  
yahyoh's Avatar
Senior Member
Thanks Meter 1,878
Posts: 4,655
Join Date: Nov 2011
Location: Riyadh
seems there is no Octa version anytime soon

the mass production will start in Q2

http://global.samsungtomorrow.com/?p=22936
Gnote2 Rom: XXUFNE1 kernel: Stock
.........................
Galaxy S2 ROM: XWMS3 4.1.2 Kernel: Stock
............................
MOTO G ROM : 4.4.4 Kernel :stock

............
 
skivnit
Old
#4  
Senior Member
Thanks Meter 137
Posts: 1,358
Join Date: May 2012
Default Re: [Info] Exynos Octa and why you need to stop the drama about the 8 cores

Hehe can't wait foe your kernel Andrei. I was disappointed bythe design but I'll just get me one. My only worry is the tw lags in contacts and unlocking. Also, wouldn't the a7 be 2 slow when multitasking? You open a web site, and xda so the a7 kick in then open a Game. How is the transition done with outstanding the phone lagging? Im very curious about this. Fromthe hands on we can see the phone stuttering a lot.

Sent from my GT-I9300 using xda premium
Iphone 4 16gb (gathering dust)
Blackberry 9900 (gathering dust as well)

Galaxy Note (KingDroid V3)
Galaxy S3 (Latest JB leak+ Stock Kernel)
Galaxy Note 2 N7100 (Stock)
 
gypsy214
Old
#5  
Senior Member
Thanks Meter 464
Posts: 1,925
Join Date: Jan 2011
Location: Dallas, Tx
Question. Which one should be a better processor to choose from? The Quad-core snapdragron or the Exynos Octa-core? Exynos vs Snapdragron.
 
klaus4040
Old
#6  
Junior Member
Thanks Meter 1
Posts: 3
Join Date: Mar 2010
My main concern for the new Exynos is: I'm a S2 user and we all know how Samsung handled their promise of open properly working drivers for the Exynos 4 (as in not). Naturally I don't expect much. Now I only today saw that the Nexus 10 has an Exynos 5 also. Does this stronger Google-connection mean, that the S4 should not face the same problems as the S2 or am I better off with another SoC.
The Following User Says Thank You to klaus4040 For This Useful Post: [ Click to Expand ]
hot_spare Old
#7  
Guest
Thanks Meter 0
Posts: n/a
Excellent write-up Andrei.

Much needed to stop all the BS spreading across the forums.
The Following User Says Thank You to For This Useful Post: [ Click to Expand ]
 
TingTingin
Old
#8  
TingTingin's Avatar
Recognized Contributor
Thanks Meter 1,236
Posts: 3,164
Join Date: Aug 2012
Location: Point Fortin
Default Re: [Info] Exynos Octa and why you need to stop the drama about the 8 cores

Quote:
Originally Posted by klaus4040 View Post
My main concern for the new Exynos is: I'm a S2 user and we all know how Samsung handled their promise of open properly working drivers for the Exynos 4 (as in not). Naturally I don't expect much. Now I only today saw that the Nexus 10 has an Exynos 5 also. Does this stronger Google-connection mean, that the S4 should not face the same problems as the S2 or am I better off with another SoC.
It depends on what u mean by better

Power= snapdragon
Battery savings= Exynos

[Center]PHONE SLOW CLICK ME?
1 days 2 s4

 
Ubuntu phone OS announced

what do u think share your thoughts --->HERE<---
 
jesr
Old
#9  
Senior Member
Thanks Meter 278
Posts: 372
Join Date: Sep 2009
@ Andrei

So how does power consumption in HMP model compares versus the IKS model?

I might be outdated but the IKS model is basically the same concept as CPU Migration, right?

And finally will we ever see Cluster Migration implementations, maybe outside smartphones?
 
AndreiLux
Old
(Last edited by AndreiLux; 15th March 2013 at 05:10 PM.)
#10  
AndreiLux's Avatar
Senior Member - OP
Thanks Meter 13,675
Posts: 2,780
Join Date: Jul 2011

 
DONATE TO ME
Quote:
Originally Posted by gypsy214 View Post
Question. Which one should be a better processor to choose from? The Quad-core snapdragron or the Exynos Octa-core? Exynos vs Snapdragron.
Samsung will make the choice for you; it seems that all LTE models are Snapdragon while the 3G models will be Exynos. Personally, I live in an area where LTE is a rip-off and has minimal benefits, and I find the Exynos more exciting and better.
Quote:
Originally Posted by TingTingin View Post
It depends on what u mean by better

Power= snapdragon
Battery savings= Exynos
We don't know why Samsung went with the Snapdragon in the first place, until then, such claims are senseless. I HIGHLY suspect it is because of manufacturing constraints. The GPU on the Exynos will be faster and more powerful, you need to take that into account.

Quote:
Originally Posted by jesr View Post
@ Andrei

So how does power consumption in HMP model compares versus the IKS model?

I might be outdated but the IKS model is basically the same concept as CPU Migration, right?

And finally will we ever see Cluster Migration implementations, maybe outside smartphones?
Power consumption is identical in ideal conditions. Performance on HMP should be however (theoretically) better since we will have less task migration between the CPUs and the overhead of switching data on the CPU caches will be lower. It also depends if Samsung pulled their head out of their asses and implemented a proper CPUIdle driver with a core power collapse state, if they did, HMP will be undoubtedly better.

IKS is CPU migration, yes.

We won't ever see Cluster Migration as it doesn't make any sense in practical terms, there are absolutely no advantages in it compared to the IKS and you actually waste power by migrating other CPUs in the cluster when they actually don't need to be switched.

The Following 11 Users Say Thank You to AndreiLux For This Useful Post: [ Click to Expand ]
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes