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

Search This thread

AndreiLux

Senior Member
Jul 9, 2011
3,209
14,598
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:

Hc0rBtc.jpg


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.

vBn5DOl.jpg
LeO7sR9.png


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
 
Last edited:

skivnit

Senior Member
May 21, 2012
2,708
365
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
 

gypsy214

Senior Member
Jan 24, 2011
2,197
528
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

New member
Mar 16, 2010
3
1
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.
 
  • Like
Reactions: luminoso
H

hot_spare

Guest
Excellent write-up Andrei.

Much needed to stop all the BS spreading across the forums.
 

TingTingin

Senior Member
Aug 13, 2012
3,191
1,259
peru
Re: [Info] Exynos Octa and why you need to stop the drama about the 8 cores

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

PHONE SLOW CLICK ME?
1 days 2 s4
 

jesr

Senior Member
Sep 23, 2009
444
378
@ 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

Senior Member
Jul 9, 2011
3,209
14,598
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.
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.

@ 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.
 
Last edited:

James086

Member
Dec 31, 2012
34
9
Perth
Question. Which one should be a better processor to choose from? The Quad-core snapdragron or the Exynos Octa-core? Exynos vs Snapdragron.

I think we will have to wait until reviews are out to know for sure which is faster/more battery efficient. Also if you want LTE (in the US) I think you will be stuck with the Snapdragon because of the LTE bands supported by the chipset. If I had to guess, I would suggest that the 8 core would be better for power consumption and performance, but that's all it is, a guess.
 

rkial

Senior Member
Nov 25, 2012
751
192
If I'm playing a 3D game, the phone will use the A15s, right?
Would the Snapdragon 600 be more efficient than the exynos Octa in that scenario?
 

gypsy214

Senior Member
Jan 24, 2011
2,197
528
Dallas, Tx
I think we will have to wait until reviews are out to know for sure which is faster/more battery efficient. Also if you want LTE (in the US) I think you will be stuck with the Snapdragon because of the LTE bands supported by the chipset. If I had to guess, I would suggest that the 8 core would be better for power consumption and performance, but that's all it is, a guess.

That's good. But i guess I care more about development than LTE. I have no experience with Exynos I don't know how Samsung will be with development wise with the Octave core Exynos. Like releasing drivers etc etc.
 

Chillz88

Senior Member
Mar 23, 2011
1,434
389
Re: [Info] Exynos Octa and why you need to stop the drama about the 8 cores

If I'm playing a 3D game, the phone will use the A15s, right?
Would the Snapdragon 600 be more efficient than the exynos Octa in that scenario?

Read andrei's misconception no.4....

.....
 

AndreiLux

Senior Member
Jul 9, 2011
3,209
14,598
I did. That's why I asked the question.
He says the A15 will be least efficient

But I have no idea how many cores heavy gaming takes up. Also, not sure how the S600 would deal with its cores that arent being used.
Depends on the game.

90% of games will run on the A7 cores without ever needing the A15 power.

3D needs minimal CPU power, for example clamping the CPU on our current devices to single-core and 600MHz will have absolutely no effect on benchmarks like GLBenchmark or the Unreal Citadel.

However if the game does physics, A.I. computations, sound effects and who know what else, then the CPU will be loaded.

It also depends how threaded the game is. I don't think that games run more than 1 "heavy" thread, so in optimal conditions you'd only have a single A15 up while having the rest of the pairs staying on the A7 cores.

There is no definitive answer to your question. Just fire up CPU-Spy, reset the frequency states and go play a game and see the result. If you're on an A9 core phone then theoretically if you exceed the 1000MHz state, then that would be over the capacity of what the A7's could deliver and it would switch over to the A15.
 

rkial

Senior Member
Nov 25, 2012
751
192
I'd be playing something like Fifa and NFS,

Guess I'll have to try it to get a better idea.

Thanks for the explanation
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 265
    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:

    Hc0rBtc.jpg


    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.

    vBn5DOl.jpg
    LeO7sR9.png


    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
    12
    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.
    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.

    @ 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.
    11
    I did. That's why I asked the question.
    He says the A15 will be least efficient

    But I have no idea how many cores heavy gaming takes up. Also, not sure how the S600 would deal with its cores that arent being used.
    Depends on the game.

    90% of games will run on the A7 cores without ever needing the A15 power.

    3D needs minimal CPU power, for example clamping the CPU on our current devices to single-core and 600MHz will have absolutely no effect on benchmarks like GLBenchmark or the Unreal Citadel.

    However if the game does physics, A.I. computations, sound effects and who know what else, then the CPU will be loaded.

    It also depends how threaded the game is. I don't think that games run more than 1 "heavy" thread, so in optimal conditions you'd only have a single A15 up while having the rest of the pairs staying on the A7 cores.

    There is no definitive answer to your question. Just fire up CPU-Spy, reset the frequency states and go play a game and see the result. If you're on an A9 core phone then theoretically if you exceed the 1000MHz state, then that would be over the capacity of what the A7's could deliver and it would switch over to the A15.
    10
    Loading a web-page is not CPU intensive, why would it switch to A15 for such a simple task? I thought the A7 was supposed to be powerful enough to handle simple tasks.
    Webpage rendering is the single most CPU intensive task on smartphones.
    9
    engadget.com/2013/07/01/linux-kernel-3-10-arrives/


    Maybe some good news for the i9500 owners

    lets see if @AndreiLux has anything to say about this :)