Why 8 and 10 CPU cores in smartphones are a good idea – a lesson from the kitchen

by: Gary SimsMay 13, 2015
814

think big.LITTLE
The processor in my smartphone has more CPU cores than my desktop PC! It is true, but it doesn’t sound right. How is it that this little handheld device is sporting eight-cores but my PC only has four? Does my smartphone perform better than my PC? Does my smartphone need 8 cores, or even 10? These are good questions and according to a Forbes article written by Patrick Moorhead, the well known technology commentator, 8 and 10 CPU cores in smartphones are a bad idea, and he uses the car as an example.

His basic idea is this: a car has an engine, like a smartphone has a processor. The number of cylinders in the engine are analogous to the number cores in the processor. In the past car makers used engines with 8 cylinders, but more recently fuel economy has become increasingly important, so many engines now use four cylinders.

When it comes to Intel, they simply cannot have more than 4 x86 cores if they want to remain power efficient.

Moorhead then goes on to point out that not all four cylinder engines are equal, and neither are all four core processors. He compares the engine in the Toyota Yaris and the engine in the Audi TTS. “The Audi TTS 4 cylinder engine manages an impressive 310 horsepower in a 2 liter engine, meaning that Audi is able to extract nearly three times the performance out of their engine with only 30% more engine volume.” In Moorhead’s mind the Audi engine is superior since the Yaris engine “has an average economy of 34 MPG, which is more than 20% better than the TTS, but at the sacrifice of being more than 50% slower.”

Toyota_1NZ-FE_engine_001

Before we move on, it is worth noting that the Yaris will save its owner more than $1200 in fuel costs over a three year period, in Europe that saving is even higher. So while the Audi engine does indeed manage to get more performance with only 30% more engine volume, many people will find the extra $1200 in fuel costs unacceptable. And this is where we start to talk about CPU cores.

big.LITTLE

The fundamental thing that Moorhead has missed is that the CPU cores in 8 or 10 core processors aren’t all the same size. In a car, all the cylinders have the same cubic capacity. But in an 8 core CPU they don’t. This completely changes the balance of things. If the debate was about the difference between two processors with the same number of cores, where each core per processor had the same performance and energy efficiency characteristics, then the analogy between the Audi and Toyota might be valid. But it isn’t like that, Moorhead is trying to compare oranges with pears.

This type of arrangement is what is known as heterogeneous multi-processing.

8 core processors like the Qualcomm 615, the Qualcomm 810, and the Samsung Exynos 7420 all use two different type of cores, four of one type and four of another. Four of the cores are high performance and four of the cores have better efficiency. What happens is that the underlying OS, e.g. Android picks the best processor core for the job. If it is a background tasks that is just checking your email, there is no need to use the high performance core. Network connections have lots of latency and there will be lots of waiting around and little actual processing. However if you start playing a game then a high performance core is needed.

This type of arrangement is what is known as heterogeneous multi-processing, where not every core is the same. To make it work the scheduler in the OS needs to understand that the cores have different characteristics and it assigns tasks to the cores according to those characteristics. ARM’s heterogeneous model is called big.LITTLE. In an 8 core big.LITTLE setup the cores are arranged in two clusters. One cluster has four Cortex-A57 or Cortex-A72 cores, powerful cores with lots of processing ability. And one cluster has four Cortex-A53 cores, still a 64-bit processor, still very capable, but more power efficient and often clocked at a lower clock speed. Chip makers don’t need to stick with 4+4, they can in fact pick lots of variations, like 2+4 (dual-core Cortex-A57 and quad-core A53) as with the Snapdragon 808.

Kitchen

Various_cooking_knives_-_Kyocera,_Henckels,_Mac,_Wiltshire

So let me propose an alternative analogy, one that better reflects the reality of heterogeneous multi-processing, the humble kitchen knife. In our kitchen we have a block of wood with several different knives in it. The knives are different sizes, some are longer, some are shorter, some are thinner, some are wider, some have a serrated edge, and so on. Each knife has an optimal use. The bread knife is great for cutting bread, the boning knife is ideal for removing meat from the bone, the Chef’s knife is the best for chopping, and so on. It is possible to use the bread knife to chop, and it is also possible to peel a carrot using the Chef’s knife, since it is still a knife with a nice sharp edge, however it isn’t ideal, and probably not recommended.

More cores equals more choice.

In other words, I pick the best knife for the job, I am not limited to just one type of knife. I have options, I have choices. Think of it this way, more cores equals more choice. The scheduler can now pick the right core for the right job. It isn’t about overall performance, it isn’t like the desktop world, just because a mobile processor has 8 cores it doesn’t mean it has a higher performance than a processor with 4 cores. However what it does mean is that the OS has the choice to use the right core for the right job.

As I have written here before, energy efficiency is actually the goal of these increasingly large multi-core processors. And as Robert Triggs wrote yesterday in his analysis of the 10 core MediaTek X20, “It may seem a little counter intuitive, but 10 cores doesn’t automatically improve performance. However, it does offer a lot more choice about what you can do with your workload.”

mediatek_x20_power_savings

Talking of the X20, MediaTek states that this type of design lends itself to a 30 percent improvement in power consumption compared with a similar 2-cluster design. The idea is to scale even more effectively from small low power cores, through a quad-core mid-stage and right on up to a dual-core high performance configuration. If Patrick Moorhead wants to use analogies from the auto industry, here is another one, the gearbox. The more gears you have, the finer the control over the speed, the torque and the RPMs. Sure you can drive everywhere in a high-gear, but is that the most efficient? No.

If you look at the power consumption table from MediaTek you will see that there are significant power savings for simple tasks like loading a web page, watching a video and using Facebook.

Moorhead claims that, “the reality is that in a smartphone you don’t really use more than 3 large cores in any usage given scenario.” And he may be right, the question is which 3 cores is the OS going to use? If all your cores are the same then the OS has no choice. If you have a dual-cluster or tri-cluster big.LITTLE arrangement then the most appropriate cores can be used. So even if the sweet spot for a smartphone is four cores, having 8 or 10 cores available means that the four cores which are used are the cores which give you the highest performance and the greatest energy efficiency.

What we are seeing is chip makers experimenting with the most optimal balance of performance vs power vs cores, and at the moment there seems to be benefits to adding more cores.

If you look at the power consumption table from MediaTek you will see that there are significant power savings for simple tasks like loading a web page, watching a video, and using Facebook. All common tasks that won’t fully utilize all 10 cores of the processor, but having 10 cores available means that scheduler can fire-up the best cores for the tasks.

Marketing

Until now we have talked tech, why is one design better than another? What does heterogeneous multi-processing bring to the mix? And so on. But the real problem probably isn’t the tech, it is the marketing. In a previous article for Forbes, Patrick bemoaned the way in which 8 core processors are being marketed, and to in many ways I agree with him. The phrase “octa-core” is being used in the sense that 8 cores are better than 4, in terms of performance. But the real message is that 8 big.LITTLE cores are better than 4, in terms of power efficiency. This seems to have been lost.

Intel has been playing catch-up in the mobile market for years, and it has arrived at the point where it needs to give away its processors practically for free.

One thing that Moorhead implies, which I don’t think is correct, is that this marketing could leave SoC manufacturers and smartphone makers open to getting sued for deceptive or misleading claims. I don’t think that boat will float. These SoCs do have 8 cores, and all 8 cores are capable of running simultaneously. There is nothing misleading about the description “octa-core.”

So why the 8 and 10 core craze? Besides the clear technical advantages in terms of power efficiency, these SoC makers are in competition with each other, and with Intel. Each company needs to differentiate itself from its competition. The MediaTek X20 is certainly an innovative 3 cluster big.LITTLE design, and it is taking mobile heterogeneous multi-processing to the next level.

Intel has been playing catch-up in the mobile market for years, and it has arrived at the point where it needs to give away its processors practically for free to smartphone makers so that they will pick its processors, rather than those based on ARM’s designs. However, Intel hasn’t altered its mindset and it still thinks in terms of desktops, laptops and servers. Intel has no heterogeneous multi-processing designs for mobile and it is basically relying on its manufacturing processes to help it bring down power usage. As Patrick puts it, “When it comes to Intel, they simply cannot have more than 4 x86 cores if they want to remain power efficient and on a reasonable size die.” The other processor manufacturers are trying to take advantage of that.

Wrap up

So in conclusion, the key factor to understand about 8 and 10 core processors is that all the cores aren’t the same. The clusters of cores have different performance and power characteristics. With clever scheduling the mobile OS is able to use the best core for the best job. Remember, more cores equals more choice. More choice means better power efficiency, but not necessarily more performance.

  • David Onter

    I wouldn’t want more than 8 cores at the moment. Not if the single-core performance suffers from it. Especially since no apps are optimized enough to use 8 cores efficiently. I’d rather have a quad-core with the same power.

    • Nothing_Better_Than_CHOICE

      Have you noticed that the people that say “Apps aren’t optimized for more cores” are the same people that only text and use Facebook?

      Its SAD when these people buy high end phones. They simply only need a low end Android device.

      • David Onter

        –Misunderstood your comment–

  • Lisa Naarseth Myklebust

    Some of the arguments in this article are so stupid I get a headache.

    >”In other words, I pick the best knife for the job, I am not limited to just one type of knife. I have options, I have choices. Think of it this way, more cores equals more choice. The scheduler can now pick the right core for the right job.”

    What the hell!? This isn’t different sets of knives with different abilities. Instead of having so many different cores that perform mediocre, it’s better to just have one core that performs excellent.

    I’m not gonna even bother quoting the rest of this article, which is full of unreasonable arguments. The fact of the matter is that no application uses more than 1 core! That’s right! Not more than 1 core! The CPU on the iPhone has only two cores, and it gives excellent performance — for a good reason. You can talk all you want about workload and power efficiency, but even here it would be smarter to have no more than 4 cores. You don’t need any more “choices” than that.

    F**ck. Mediatek for introducing 10 cores. F***ck Qualcomm too, if they decide to do the same with the Snapdragon 820. They are only taking more and more steps backwards by adding more cores to CPUs that only get one of their cores used by an application.

    • Andrei

      “The fact of the matter is that no application uses more than 1 core! That’s right! Not more than 1 core!”. Wow. Just wow.

      • Lisa Naarseth Myklebust

        Well it’s not wrong. Third-party applications use only 1 core. Or do you disagree?

        • Disagree.

          • Lisa Naarseth Myklebust

            Then give me examples if you disagree.

        • Joseph Mark

          Disagree. Record your CPU cores activities for a day

          • Lisa Naarseth Myklebust

            CPU-activity has nothing whatsoever to do with how one single application performs on your CPU.

            None of you have still given me any evidence of third-party apps using more than 1 core — because there are none. And the reason is simple: third-party applications only use 1 core! Even on Windows the majority of applications use only 1 core. So to add 8-10 cores on mobile CPUs is pure stupidity.

            Look at the iPhone and its 2 cores and how well it performs! That’s the model that should be followed, but instead Qualcomm and Mediatek keep adding cores as a marketing scheme. It’s kind of like how it was between AMD and Intel and their processors.

          • I just gave you an example, please see my comment above. Also Android apps can easily make their UI components asynchronous, please see the Android documentation here: http://developer.android.com/guide/components/processes-and-threads.html

          • Tom_Slaapstad

            Yawn, you’re getting schooled and now you’re back tracking and repeating yourself. Give it up. You’re getting upset. Calm down and have a cup of tea.

          • Joseph Mark

            Also, this whole argument is completely sidetracked from the point. The reason to have more cores is that The OS (not you) can choose the best processer. Computers don’t worry about battery as far as the processor is considered. Their approach is to throw a bigger battery. They also have 3 ‘states’ 1 off, 2 screen (non intensive), 3 intensive activities. Off takes nothing, on they’re pushing so much regardless that they use powerful cores. Phones are always on, doing little things in the background, if you made a laptop do everything a phone does it would be dead in a couple of hours.

    • So what does this API do: http://developer.android.com/reference/java/lang/Thread.html

      A Thread is a concurrent unit of execution….

      • Lisa Naarseth Myklebust

        What I want you to tell me is how many third-party applications take use of it?

        • Well, since there are over 1 millions in the Play Store I don’t have time right now to analyse all of them for you. But the simple fact of the matter is that Android is a multi-tasking operating system and its apps can be multi-threaded. Your statement that “third-party applications don’t [use] more than 1 core” is completely wrong.

          • Lisa Naarseth Myklebust

            Yes, you are right, they can use more cores. But they don’t. That’s a fact.

            You keep saying that my statement of third-party apps only using 1 core is wrong, without proving any evidence at all. I certainly did not ask you to analyse 1 million apps. Just pick a random application and tell me whether it use multiple cores or a single core.

          • One random app: https://play.google.com/store/apps/details?id=com.dv.adm&hl=en

            “accelerated downloading by using multithreading”

          • Lisa Naarseth Myklebust

            Hooray, you found an app!

            Now go and keep on making it look like this is the case for the 98% of apps in the Play Store — which both of us of course know isn’t the case.

          • Joseph Mark

            Based on no proof, you object to the article to say that no android app uses multiple cores. When we contract you, you ask for proof. When we give you proof, you ask for more. You’re the one objecting, the burden of proof is on you. I have not seen one thing you have brought forward to support your claim.

          • Pez Nospam

            I think Lisa missed this class http://en.wikipedia.org/wiki/Proof_by_contradiction
            :-)

          • Gianluca Locatelli

            Every apps on android have to use multithread for networks request: if you don’t do that, the android framework will simple kill your app.
            Also SKILLED mobile developer use multithread for every cpu-intensive task in ordere to avoid ui block and force quit by user.

            So,yes 98% of apps with cpu-intensive task in the play store use multi-threading,the remainder 2% are crap 1-star rating app

          • abazigal

            Fair enough. I don’t understand how having more cores can lead to faster downloading of files, but I trust that the app is legit.

    • Richard

      I see both sides of the argument.
      Having plenty of cores available and different tiers of core performance vs. efficiency doesn’t seem like a bad idea all; especially if you want to run man tasks concurrently. You’ll also get less context switches and less waiting for a CPU to become free.
      However, chip makers need to ensure that their single core performance is the best it possibly can be, because most apps are written with one core in mind.
      Looking to the future, I predict that even Apple will add more cores to their AX processors, Apple’s competitors will improve their single core performance, and OS’s will make the best use of the neg-gen CPU’s

    • Gustavo

      I think you didn’t read the article.
      First: Android is an OS that you can run applications in the background, so multiple applications will be competing for CPU time, and with 2-4 cores you can manage that without running to a bottleneck. Also, don’t compare iOS to Android in that matter, iOS doesn’t have background tasks the same way Android does, it is very limited what you can do in the background with iOS.
      Second: The point of the article isn’t the number of cores, it’s about the heterogeneous cores. With different type of cores that are efficient for different type of tasks. The OS chooses the best type based on the performance needed so that it uses as less power as possible. So we are talking about energy efficiency, not performance with the number of cores.

  • Andrei

    Really love this article. I think this is the kind of thing people need to read more of, not fanboy-written articles that have praising Samsung for every mistake they make as their sole purpose.

    I have, however, one issue with this: you say “Sure you can drive everywhere in a high-gear, but is that the most efficient? No.”. I might be wrong, but generally driving in a higher gear means the engine spins less, so it uses less fuel in the same amount of time. It might not be the best way to get power out of it, especially in small, naturally-aspirated engines at low RPMs, but in terms of fuel efficiency it should be better. This is one of the reasons we see gearboxes with more than the now-standard 6 gears. Since I think the natural way to read ‘efficient’ is as ‘fuel efficient’, and not some other performance-related metric, I think that sentence might be a bit confusing.

    That being said, this is definitely one of the best articles I’ve read lately and really shows the quality here at AA. Thank you, Gary, for such a good read!

    • Vitor Herculano Morais

      That is a common mistake, if you are on a high gear but close to idle, the car wont have performance to offer, so you will have to press the accelerator harder and that increases fuel consumption. Keep the RPMs near 1,5k 2k and you will have better results.

      • Andrei

        Sure, but I’d argue 1.5-2k is low RPMs. Obviously if you go below that then most cars will have trouble accelerating for a long while.

        However, even if you press the pedal hard near idle in a high gear, nothing usually happens. The engine can’t suddenly jump up in performance, so it will only be given the amount of fuel it can burn at that speed, which is usually relatively not much.

        EDIT: I might not have made it clear, but my understanding of the hypothetical situation is the driver would be going at a constant speed, and not accelerating. Hence my point about lower engine speed and less fuel used for the same result.

        • AsakuraZero

          My good ol’ fabia had a hell lot of torque at 2.5k RPM and lots of cars have the same range.

          Imo the CPU governor acts verymuch like the gears of the cars, selecting the right CPU speed for the actions, so a better gear box means more effiency too

  • abazigal

    The way I see it, cores are like car lanes on the expressway. Try likening a 4-core processor to a 4-lane road. It is useful only if 4 or more cars are travelling on it at any one time. However, most application processes really only use 1 or 2 cores at a time. So it is like building such a wide road, only to see half the road going unused because only 1-2 cars are travelling on it at any one instance.

    And because the road is bigger, you spend more resources maintaining it.

    The way I see it, the software hasn’t quite caught up with the hardware. Sure, we now have phones with 3-4gb of ram and blistering-fast quad-core processors, but where is the software to take full advantage of this?

    • The scheduler doesn’t need to spend more resources managing a big.LITTLE processor. Also Android is a multi-tasking operating system which means that things are always happening concurrently, like sync, and receiving phone calls. Plus apps can be very easily be written to be multi-threaded. See the Android documentation here for more info: http://developer.android.com/guide/components/processes-and-threads.html

      • Lisa Naarseth Myklebust

        >”Plus apps can be very easily be written to be multi-threaded.”

        Yet they aren’t.

        Quit talking about things you don’t know anything about, please.

        • das

          yet s6 rapes m9 in performance with better battery life idiot

          • Lisa Naarseth Myklebust

            What the hell? You do realize that the S6 and M9 have the same amount of cores, right? Since you called me an idiot, I hope you are smart enough to know that?

            Or the fact that the M9 has bad battery life because of the heat issues that come with the Snapdragon 810.

            Whereas the Exynos 7420 is power efficient because it is 14nm technology, meaning more power efficiency. The Snapdragon 810 is 20nm.

            I hope you knew that, idiot?

          • das

            thus s6 rapes the m9 ,like i said ,idiot ,and core amounts mean fuck all ,the s6 processor is just better cuz smasung makes it not crappy wackcom

        • At this point, I think I will stop replying to you. You are clearing just trolling me. I have shown you a random example of an app that is multi-threaded, I have pointed you to the relevant API documentation that tells you about multi-threading, I have linked to the docs about AsyncTask, and yet you keep saying that there are no multi-threaded apps.

          • Lisa Naarseth Myklebust

            The point I was trying to make was how difficult it must be to find a third-party app that actually uses multiple cores. Your problem, Gary, is that you make all thes ridiculous arguments in your article about topic that you really don’t know much about. You could easily revoke all of them by making a comparison to the iPhone and how well it performs its jobs with two cores, in power efficiency and performance.

            You’re justifying 10 cores either because it has been feeded to you by someone or MediaTek, or because you just felt like writing the opposite opinion of the general consensus among consumers. Because you know very well that the reason these companies keep increasing cores is because it’s a marketing scheme and works as great advertisement in the regions (Asia) they come from. More cores have no practical use.

            But keep talking about your “multithreading Android” b****shit. Meanwhile people running a full Windows OS on laptops only use 2 cores, and people on desktops use 4-6 cores. Somehow, however, a mobile OS has demand twice as much (a demand that it doesn’t even take us of, as 98% apps out there use only 1 core).

          • aliyu

            Android and ios are different OS, ios can only do one thing at a time, while android handles several tasks at the same time, just try playing youtube video, then flick up control center, it will stop playing the video, or open a webpage and while loading the page, scroll your finger on the screen, the webpage loading will stop. Try downloading your songs on play music iOS, it stops the moment you close the app, ios will not upload in background to dropbox.

          • bob

            thats exactly how they get their standby battery time

            you know, 3% drain over 10hour night

          • abazigal

            My understanding of youtube videos stop playing when control centre is flipped up is not so much because iOS can’t handle that sort of multitasking, but more that Apple believes the user wouldn’t want the video to be playing when control centre is obscuring the screen anyways.

            I mean, I flick up control centre and my podcast continues to pay uninterrupted. I flick down notifications shade at my iPhone lock screen, then place my finger over the fingerprint scanner, and I am logged into my home screen (I can see the blur of icons zooming in through the notifications shade). So it’s not that iOS can’t handle multitasking.

          • aliyu

            It cannot handle 2 simultaneous big activities trust me, I can equally be playing music on my youtube which I don’t want to be interrupted. Podcast and music are handled by the built-in DAC and not much processor that’s why it can handle it. Just try loading a webpage, while it’s loading just scroll your finger fast on the screen, and priority goes to UI and stops the page from loading till you stop scrolling. Android will scroll and load any page at same time.

          • Lisa Naarseth Myklebust

            This has nothing to do with the CPU. It is memory-based!

          • aliyu

            Android phones with 512MB and 1GB of ram do just fine, it’s more cpu cores limitation.

          • bob

            do you have any idea what DAC is?

          • Lisa Naarseth Myklebust

            I think you are misunderstanding. The issue you mention is related to memory, where the iPhone only has 1GB and therefore “solves” this limitation by handling multitasking the way you mentioned. CPU has nothing to do with.

            You also talk about how Android is an OS that does many things at the one time.
            What I suggest you to do is try opening “heavy” applications and check if you ever see the CPU value go particularly over 100% (sum of User, System, IOW and IRQ values). Full use of two CPU cores will show a total value of of 200% and thus four core shows 400%.

            I myself tested some different games, tested surfing on the web and tested some other programs. Nothing seemed to use more than one CPU core to 100%, most didn’t even use a second core while some used a second core for background information (which is why the two cores actually makes sense), but the other cores are almost never loaded more than 10%.

            Instead of writing this stupid article, Gary could have just done that and seen it for himself. But he refuses to acknowledge that he is wrong.

          • You just don’t get it do you? I am not talking about using all 8 or 10 cores simultaneously, I am talking about heterogeneous computing where the scheduler can pick the right core for the right job. More cores = more choices for the workload. I doubt there is any real-world workload that will use all 8 cores, let alone 10.

          • Lisa Naarseth Myklebust

            This is an argument even Qualcomm themselves shot down, before they decided to give up and take part in the marketing scheme race themselves, byt saying that “throwing cores together is the equivalent of throwing spaghetti against the wall, and seeing what sticks”: http://www.itworld.com/article/2707561/hardware/qualcomm-calls-out-eight-core-processors-as–dumb-.html

            ‘Qualcomm calls out eight-core processors as ‘dumb’.

            Heterogeneous computing has worked well with 4 cores — which is much more than good enough for mobile devices. Why the hell are you justfying this principle for 12 cores, when it’s completely unnecessary? It makes no sense whatsoever.

          • So this it the same Qualcomm guy who was later “reassigned”: http://www.slashgear.com/qualcomms-cmo-anand-chandrasekher-reassigned-censured-following-a7-gimmick-lambasting-26303193/

            You are using him as your argument???

          • “heterogeneous computing has worked well with 4 cores”

            I don’t think that there many (if any, I am not sure) examples of 4 core (i.e. 2+2) big.LITTLE processors. If there are they aren’t very popular.

          • Joshua Garner

            The difference is the goal of the devices. Laptops and desktops are designed to run programs that require a large amount of processor power so more power per core. Low and mid range devices tend to be dual core in this case because it improves user experience.

            Mobile devices like phones and tablets are typically designed to run lighter programs. By having a 8 core processor with two different core speeds the phone can run programs in a much more efficient way than a quad-core phone with one core speed. This mainly has to do with the fact that processors are designed to run most effiently at different speeds.

            Another reason for quad-core phones while laptops are typically dual core is because the applications are lighter. Most mobile applications will spike the cpu on load then die down to very little draw for large portions of their runtime. A quad-core phone can shutdown three cores and run a lower power draw state than a dual core phone with the same power.

      • abazigal

        I admit that I am not a tech-savvy user nor do I have a programming background, so I can’t really make head or tail of the link that you just shared with me.

        I agree with the poster below me. Let’s say I agree with you that an Android app could easily be “optimised” to take full advantage of all 4 cores. However, from what I can see, the reality is that very few apps have done so, probably because there is no real point in doing so.

        Can you give me an example of a legitimate Android app that genuinely uses all 4 cores meaningfully in a task, and whether this has any deleterious impacts on the phone, such as dramatic battery drain or heat generation?

        Likewise, I use an iPhone, and it too is constantly handling background tasks like syncing, playing music, downloading updates, even taking calls, and my iPhone manages all this very well even on a dual-core processor.

        Again, I stress that I am not here to start a flame war; I am just genuinely puzzled over what one might do on a mobile device that needs that many cores?

        • “I am just genuinely puzzled over what one might do on a mobile device that needs that many cores?”

          The point of my article is that you aren’t expecting an app to use 8 cores, or 10 cores, but rather have multiple cores available which have different power efficiencies. The scheduler can then pick the right core the job. You might still only use 2 cores, or maybe even 1. More cores = more choices.

          • Lisa Naarseth Myklebust

            Your myth was already revoked by Cnet 3 years ago (including the car engine example): http://www.cnet.com/news/7-myths-about-quad-core-phones-smartphones-unlocked/

          • The CNET article is about performance and scaling from dual-core to quad-core, and then by extension from quad-core to octa-core. However my article isn’t about that, it is about heterogeneous computing and the ability to use lesser cores when appropriate. As the last line of the article says, “Remember, more cores equals more choice. More choice means better power efficiency, but not necessarily more performance.”

          • Lisa Naarseth Myklebust

            The same principle apply. In your article you talk about how more cores are more power efficient by handling different tasks to different cores. Here is what CNET says:

            The car engine analogy was a favorite with the experts I spoke with for a very simplified way to explain what happens with power. GHz (as in a 1.5GHz processor) are like RPMs, and more processor cores are like more cylinders. More cylinders give you more engine power, but at the cost of guzzling gas.

            Nvidia, however, points out that their chip’s fifth smaller core fits into the analogy differently.

            “When the car is in city traffic and does not require the high performance engine, the high performance engine is turned off and only the electric engine is used,” said a company representative. “When the car is on a freeway, then one to four cores are used depending on the desired speed.”It’s just like punching the accelerator on the sports car. The faster you do that, the faster you burn through gas. — Francis Sideco, IHS iSuppli

            The increased demand on the battery during times of high-level performance (like streaming Internet video, for instance) is exactly why system-level optimization is so important, said Frances Sideco, senior principal analyst of consumer and communications at the analyst firm IHS iSuppli.

            Engineers on the manufacturing side can be smart about creating software that can help efficiently assign processor tasks, which in the end mitigates battery strain and could help make the battery-saving theory of quad-core a reality (where more chips each doing part of the work drain the battery more slowly.)”

          • bob

            maybe they should stop waisting precious silicon space and use 2-3 powerful cores with the ability to completely power down when not in use with varying frequencies also,

            you know, like the most powerful soc around at this time (considering 99.9% apps use one core)

          • All SoCs have the ability to power down the cores when they aren’t being used: dual-core, quad-core, octa-core. That isn’t the issue. The issue is when the cores are running which core should the task be run on.

          • bob

            yes but why waste silicon space with 10 number of small cores when you can have 2 huge ones with power gating etc, variable frequency?

            it absolutely doesnt make sense

            remember, almost no apps use more than 1 core

            shouldnt the single core performance be the goal?

            the amount of fuck ups google brought upon OEMs is fenomenal, spec wars all around

          • All big.LITTLE processors use power gating and variable frequencies as well. The point is that big.LITTLE brings additional power saving above and beyond what is available using gating and frequency controls. It is an additional technique, not a replacement.

          • bob

            it is replacement because you lose single core performance, its a tradeoff

            did you read what anandtech said on the matter?

          • You don’t lose single core performance, how can you? If the SoC has 4 Cortex-A72 cores in it, they are the fastest cores that ARM make? If the SoC has 8 Cortex-A53 cores and no bigger cores then yes you are limited to the single core perf of the A53, but I that isn’t what I am talking about.

          • bob

            you’re talking about snapdragon 810 right?

            it has a signle core geekbench 1100

            a8 has 1600-1700

            99.9 % apps use single core

            given apples small batteries and standby time, a8 is apparently very efficient (no thermal throttling)

            what gives?

          • I haven’t check those numbers, but if the single-core performance is less on one processor that another it is because of the maximum performance provide by the most powerful core, and has nothing to do with big.LITTLE or heterogeneous computing. In other words, if the 810 was a single core processor without big.LITTLE it would still yield the same results. Again nothing to do with big.LITTLE.

          • bob

            it has everything to do with big.little, because big little is a tradeoff

            as it stands now, why do manufacturers choose big.little over apparently much better performing apple a8 implementation?

            it isnt faster, it isnt more power efficient

            thats the question of this article you failed in answering

          • I don’t understand. Apple’s A8 is a propitiatory design that isn’t available to anyone else. Manufacturers aren’t choosing big.LITTLE over the A8, we don’t know what the A8 is doing and we don’t know what the A8 could do if it was used in big.LITTLE.

          • bob

            by manufacturers, i mean samsung and qualcomm, designers if you wish.

            they are designing their own cpu cores occasionally.

            so why are they using big little if apple a8 implementation is clearly better?

            i dont believe apple is that much better at designing chips.

            what i believe is that its pure marketing, the android law of numbers – the bigger number, the better, what do you think?

          • None of that makes sense. First we don’t know what secret sauce Apple is using in the A8. Second, the apparent performance of the A8 could be due to other factors, like caching, RAM speed, whatever, we just don’t know.

            Second if Qualcomm or Samsung could design cores to be better than the A8, they would (assuming the A8 is a worthy target).

            Third, you don’t know what efficiencies would be achieved by using an A8 in a big.LITTLE setup.

            Since the A8 is a black box it is impossible to make objective comparisons to it, there are too many assumptions.

          • bob

            we dont know how their built it but we do know what their goals were – single core performance

            they manage this by having fewer larger cores.

            using big.little means the single core performance is not a goal

            why is that? considering almost all apps use one core.

            this is as simple as it gets:

            99% apps use 1 core,
            how should you build your cpu?

            a kid would understand

            except if big little was actually meant for servers? then what its doing in the mobile space?

            of course i dont have nearly enough knowledge to think at this level, but certain things appear to be clear as a crystal

            the qouestion is, why dont samsung and qualcomm put emphasis on single core performace?

            because dual core 1.4 ghz would look bad next to mediatek 10 cores 2 ghz? i honestly think its about that. no one offered an decent alternative to my train of thought

          • As I have said before, big.LITTLE does NOT mean that single core performance is compromised, I don’t know why you think that.

          • bob

            because of limited silicon space. lower number of cores, bigger cores – geometry

            instead of 4×4 – 1×1

            remember, 99% percent of apps use one core

          • Nope, none of what you just wrote is true.

          • bob

            what? laws of physics arent true?

          • bob

            you mentioned the analogy with knifes but you forgot to say theres limited storage available

          • Joshua Garner

            Where are you getting your information that 99% of apps are using a single core?

            Many apps use background loading to reduce the impact to the user experience so two or more cores are likely being used.

            I decided to test this idea by watching cpu usage while running apps on my old ipad two, many apps broke 150% cpu usage. In other wards, two cores were running at near max capacity.

            Comparing how apps run on my note 3 versus my roommates iPhone 6 shows the iPhone does slightly better with a single app open. That being said, I can have two apps on the screen and my note 3 still runs as well.

            I’m not going to deny apple has a great job with their A series chips and ios but to say it’s better than big.little is a huge jump considering how it compares to a simple quad-core processor.

          • aliyu

            Well the Exynos 7420 has 1500+ on single core performance, and the standby battery is because ios hibernate everything , and nothing gets done like background downloading or uploading.

          • bob

            exynos is a 14nm proc. its a 2015 soc. wait for a9 to compare them

            snapdragon is still 20nm

          • Canucksftw

            Bob is an iOS evangelist nothing you say will convince him to stray from his viewpoint, he’s just here to troll so don’t feed him let him wander back to his bridge in Cupertino

          • abazigal

            Yes, but if my understanding of the article is correct, we are essentially looking at the equivalent of 2 quad-core processors glued together. At any one time, an application will use 1 of the 2 processors, depending on whether the system wants to prioritise performance or battery life.

            Any my point is that even quad-core processors seem like overkill for the majority of what people do on smartphones anyways, and the solution is to now use two instead?

          • If the SoC maker wants to do 2+2 or 2+4 or whatever that is also perfectly legitimate. The Snapdragon 808 is 2+4. However even Patrick says in his Forbes piece that smartphones tend to use 3 cores to their max for short bursts, so that implies quad-core. If you want all those cores to be high performance cores then you need to includes 4 x Cortex-A57/A72 cores and then 1 to 4 Cortex-A53. That is why SoC makers have used 2+4 and 4+4.

        • Joseph Mark

          The iPhone is like the employee who is always looking out for the boss. As soon as the boss comes in the room, he will stop everything to see what the boss wants, and will do it right away. Android is the employee who is focusing on the task at hand, and might even make the boss wait for him to finish. As such, the iPhone will get background stuff done slower, and redundantly, but will provided a better user experience. In an attempt to make Android still doing everything it is already doing, among other things, OEMS are trying to make sure that he can pay attention to more things at once. Because IOS in its nature is doing one thing at a time, its less relevant for it to be able to do more at once, and more relevant for it to do things faster.

          • Joseph Mark

            Try this: go to settings, storage. Wait for the breakdown to load. Switch to another app from multitask, switch back. It will have to redo the break down.try in android, and it will stay loaded.

          • bob

            thats probably intentional. if it wasnt, it would constitute lack of ram, but considering that apps stay longer in memory on iphone compared to most 2-3gb android high end phones, its probably intentional, meaning every time you revisit that certain page in setting it will initialize refresh of storage

          • Canucksftw

            Longer eh.. Sources… Or are you just spewing the usual iCrap talking points?

          • CanadaBC

            My S5 will keep over 10 apps sleeping and ready for as long as I don’t power the phone off. All running in ram and not needing to load again when I call on them. My wife is always complaining of how many times she tries to open an app on her iPhone 5s and has to wait for it to refresh/reload even when she was just in it.

          • bob

            exactly, user experience

          • Joseph Mark

            User experience front. Not necessarily actual ux Read next post

        • aliyu

          The iPhone pretty much stops everything you’re doing when you pick a call, even downloading stops then resume after you’re done. The iPhone cannot multitask the way Android does, it can only do one thing at a time.

          • abazigal

            I can definitely background a call and do something else like type notes, look up a location in Maps and even research something on the web, all while talking to the person on the other end.

            Maybe there are some edge cases where the iPhone loses out in multitasking capabilities compared to Android phones, but I find it quite suffices for me. :p

          • Lisa Naarseth Myklebust

            This is because of it’s lack of RAM, it has nothing to do with CPU-cores.

          • aliyu

            Nop, Android phones with 512MB or 1GB of RAM does fine multitask much better than ios, it’s a limitation of cores. 1 gb of ram is more than enough to handle Web page loading and UI, or control Center and youtube running in background. I have the moto g with 1GB of ram, and ios cannot touch it in multitasking, background activities all at same time.

      • LOL

        You can be a script monkey at best. Writing multithreaded/multiprocess program is not much harder than single threaded. But make it quicker than single threaded is only possible for a little subset of all tasks. You just can’t in majority of cases.

    • Milan

      You have the right idea to a point, your analogy you say that only one or two cars are traveling on a 4 lane road but with the big.LITTLE system technically its would only be 1-2 cars traveling on a 1-2 lane road. This is because the the rest of the lanes wouldnt be there because if the software is only using two cores to process, so the rest of the cores are there only when needed

  • Karly Johnston

    It is marketing hype, none of these BIG. little chipsets are more power efficient than their predecessors. The 810 is worse than the 805 or even the 801. The Exynos are the same story. MTK was so bad to begin they break even with smaller die size. The very action of stepping uses power, selecting a more efficient core becomes wasteful. Apple went from two to three cores for a reason, maximum power maximum efficiency. Until Android gets hyper-threading, cut the frap.

    • “none of these BIG. little chipsets are more power efficient than their predecessors.” Not true.

      • Karly Johnston

        Name a single octa core phone that lasts longer than the 801 in the OPO… thought not .

        • I have an octa-core THL 5000, it wipes the floor with the OPO, but that has little to do with the processor but the size of the battery. Comparing one phone to another based solely on battery life and CPU doesn’t work. The size of the screen, the type of screen, the resolution, and the size of the battery all play a part.

          • Canucksftw

            You do know Karly just trolled the heck out of you.. Ouch

    • Lisa Naarseth Myklebust

      The first proper comment. Thank you.

      I assume you also had a hard time reading through the pile of crap that this article was?

      • Canucksftw

        I assume you didn’t take your meds?

    • das

      so why exyonos RAPEs 810 ? u fucking idiot ,rapes battery lfie and performance ,htc m9 is a JOKE compared to samsung phones lmaooo ,u dont know shit loser

  • Brian De Guzman

    if the task require really heavy CPU load, is it possible for both LITTLE and big to be active at the same time?

  • Rob Triggs

    I think there are some fundamental misunderstandings about big.LITTLE in here, so let me try and sort this out.

    Firstly, there are a huge range of CPU architectures designed specifically to suite requirements ranging from low-power embedded applications all the way to huge mainframes. Even within a sub-group (such as mobile), CPU designs can and are designed for specific attributes, including, but not limited to power efficiency, faster math computation, or a larger fast memory cache. Even the same core design can be manufactured slightly differently to alter its final performance.

    This leaves us with a wide range of possibilities in terms of CPU performance or power, but no single CPU can encompass all the possible attributes. This is why multi-core bit.LITTLE is more interesting for a mobile perspective than an 8 core desktop CPU from AMD.

    Now, even (incorrectly) assuming that applications only use one thread, there are still benefits to using multiple cores. Take this very simplified example: Core A might be great at floating point division but consumes a lot of idle power. Core B is very low power but rubbish at FP division and would take forever to do it, but is pretty good at basic addition.

    Now suppose you run an application that needs to do division and addition. It makes sense to send the difficult division to Core A do get it done quickly and to use Core B to do the simple addition at a lower power cost. Even if these tasks are done one after the other, rather than in parallel, you have a better balance of performance and power than using either Core A or B on its own.

    Now, whether or not this is the best use of silicon is a different debate and one worth having, but heterogeneous computing (which is what this article about) in mobile is a useful, albeit, developing technology. Just because Apple isn’t using it (yet) or that Intel achieved higher performance per core does not mean that heterogeneous processing doesn’t have major practical benefits.

    • bob

      10 cores on a mobile silicon is an absolute waste of space no matter how you cut it

      and single core performance should be the goal

      exactly the opposite of android manufacturers strides

      • aliyu

        The Exynos 7420 has brilliant single core performance, as well as exceptional multi core performance. The A8 are just big inefficient cores that cannot multitask very well, hence ios with limited abilities.

        • bob

          the exynos is a 14nm chip and it still hasnt surpassed apple in single core performance, the most important metric (actually the only important aside from power efficiency naturally)

          wait for 14nm a9. certain predictions put them at 2500 single core

          • Cross platform single core performance measurement is hard. What if Apple’s compiler is better and manages to optimize an extra 20% advantage. We just published an article about new optimizations coming to the Java compiler that can improve the performance of an app by up to 40%: http://www.androidauthority.com/art-optimizing-compiler-605011/

            The A8 could be 30% slower than a Exynos but with better compilers it appears to run faster.

            Also who garunrtees that the benchmarls runs the same on iOS and Android???

          • bob

            the first part, it doesnt matter, faster is faster, it tells us about goals of manufacturers

            the second part, i know, but its all we got

          • aliyu

            The new Mongoose from Samsung based on A72 have about 2500 single core as well, Apple has no more advantage in single core going forward, and loose out a lot in multicore.

          • whysoserious???

            The “Mongoose ” itself is a custom core,it has a different design from cortex A72 like all custom cores,the processor is called Exynos M1,so you are wrong dude

          • Mariano Robinson

            .Read more here==> Easy-Job

          • whysoserious???

            Excuse me but all what you have wrote before is a dirty lie
            1.we don’t know anything about A9 yet,neither core numbers no the frequency, or even the die size,many sites claim A9 is based on TSMC’s 16nm because Apple made (a last second decision) as they claim,others say that it is confirmed to use Samsung 14nm LPE,and you are here claiming that A9 scored 2500 on Geekbench single core,which is not even reliable because
            A.many Apple fans like you claim that A9 is going to be tricore clocked at 1.7 GHz
            B.Apple only shows about 1-3% increase in performance between AX series(A8 for example) and last generation AXX(A7X for example) go for Geekbench,A8 barely managed to achieve 150 more on Geekbench single core compared to iPad Air,it is all scheduled because Apple won’t make last year tablet that they claimed that it is going to be future proof looks bad compared to their new phone,because tablet(the next iPad Air 3)is likely to come after IP6S, so your argument is invalid,and you are wrong on so many levels
            2.as garysims claimed,Android and iOS doesn’t share the same compiler,Android is a java virtual machine and fully written with java language,iOS on the other hand is built using C++ which natively packspacks more performance,it can effect benchmarks like Geekbench that uses file encryption and decompiling

          • Taha Yassine Wahbi

            fool, 14nm means a weaker processor, Apple’s A8 chip is a massive processor with a lot more space for lot more transistors. The Brilliant design is to make a CPU samller ( for power effeciency + minimizing Overheating) and still as fast if not faster than the previous CPU model.

      • If single core performance is the goal, then what about battery life. The goal is producing a fast SoC with great battery life.

        • bob

          the faster a certain core can complete a task, the faster it can power down

          • True, but if you are using the core for a long time, like playing a game or whatever then it will run at top speed and eat through the battery life. That isn’t very good.

          • bob

            so you power up slower quadcore while an app is using only one core?

          • NexusKoolaid

            No, you power up only one of the processing units of a quad core (the right one for the job) while keeping the unneeded cores shut down.

          • Dragonetti

            Wel maybe the can borrow this technic from intel instead of more and more cores

            Intel®
            Turbo Boost Technology 2.0 –
            http://www.intel.com/content/www/us/en/architecture-and-technology/turbo-boost/turbo-boost-technology.html

        • Κωνσταντίνος Κ.

          10 cores are great? …yes if there was an OS to use all this 100% efficient and apps that do the same :D

      • Mike0001

        But the octacore phone Beats the dual core 6s on Apple’s own performance metrics!

    • MattEgansHairLine

      Didn’t apple do this a couple of years ago?

      Didn’t the morRoids slag it off?

      Who cares, with out-of-date software, you’ll never be able to take advantage of it anyway.

  • Oobiewan

    tl;dr: Mr. Moorhead did not care to take the time to check how mobile processors actually work, still wrote an article about how everyone in the industry is stupid. Great journalism, Mr. Moorhead!

    • Pez Nospam

      Moorhead would have waxed lyrical if Apple had come with the tri-cluster.

    • Optometronix

      ARM’s big.Little design is the best for Mobile today.

      The old x86 seems like an ancient relic from Indiana Jones, it belongs in a dusty Desktop.

  • Frank Medina

    Gary, I don’t usually post anything, but this time I took the time to read your article and also read Patrick’s, let me just tell you that I really enjoy the reading, keep the up the great work.

  • Yowan

    I don’t think that it makes sense tbh. Adding more cores won’t make any significant performance/power efficiency difference whatsoever, It’s always funny to see such vendors boasting SoCs with more cores for the sake of PR BS/stunts and media attention. What the mobile world needs right now are better high IPC cores (proper quality cores>more cores BS) which can decode more micro-operations per cycle, have wider pipelines, more vector and load/store units along with multiple dedicated FMA/SIMD stages just like complex modern x86 chips while still retaining a reasonable performance per watt ratio with a low thermal envelope. Current ‘high-end’ ARM Cortex offerings (A57 and A72) are still architecturally inferior compared to any current CISC chips and the only reason why ARM came up with that big.LITTLE is that their reference Cortex cores aren’t good enough to scale well in high performance scenarios like x86 chips.

    They’re basically saying that ‘our Cortex cores aren’t good enough so let’s cram a bunch of weaker dual-issue cores and slightly better 3-issue cores in a SoC and call it a day’. That would of course provide performance gains in theory but it proved to be lousy in several implementations (early Exynos SoCs had issues with their cache coherency bus and early CC1-400 designs were problematic), not to mention that the big.LITTLE scheduler implementation in the Linux kernel that Android devices use (i.e kernel 3.10) is severely outdated and lack all the newer improvements from upstream mainline Linux.

    This very often means that vendors must use workarounds and backport a lot of patches from mainline linux into their outdated 2 year old LTS kernel base. big.LITTLE could work better if proper software support was there but vendors don’t care about using newer kernels and the progress that Google and Linaro are making towards mainlining ARM-specific Android patches is still too damn slow. This means that whichever phone out there that uses a big.LITTLE SoC will still have an ancient kernel stack with half baked schedulers.

    I’m not an Apple fanboy but you gotta give them credit for developing their superior SoCs with two efficient high-IPC custom cores that achieved better single-threaded performance levels than most 4/8-core designs from any other competitor in the ARM mobile industry. They simply proved that you don’t need 8 or 10 sub-par low IPC cores when you’ve got 2-3 better and larger cores, this makes big.LITTLE redundant.

  • Gabriel Belmonte

    Ok, leave alone the deca things …
    let just think simple…
    Imagine an android smartphone with a processor with Dual A72 cortex cores, 2.5 GB LPDDR4 RAM, and UFS 2.0 storage?
    I think it will be enough, wont it?

  • Kyle Ong

    today techno is get it thin…so could pack more 12cores 1 day.
    like changin gear in car to rch the speed demand
    however, the os plays an impt part…

    If more cores means more energy saving, i take it.
    the last thing i need is a 10kmah batt in my smart phone.

  • seattle tech

    Patrick Moorhead is the most over rated self proclaimed guru. Most of the stuff he writes is purely idiotic. With massive biased towards qualcomm. Is he really trying to compare a turbo charged engine to n/a one? His articles in forbes are always trash and soo far off

  • TDN

    I think what Moorhead is taking about is the cell processor from Sony. His analogy would work perfect there, especially since Sony left the developers to do most the hard work is assigning which process to which core, instead of writing an OS that could assign that work itself.

  • Edin Edo Ademović

    Are Mediatek’s new 67xx generation CPUs as reliable (in telephony and connectivity and everything else EXCLUDING performance) as the Qualcoom’s Snapdragon?

  • Κωνσταντίνος Κ.

    Comparing cores with an engine(cylinders) is like comparing the article’s writer IQ with mine

  • Mike0001

    My Yard engine has three cylinders!