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.
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.
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.
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[aa_image src="https://cdn57.androidauthority.net/wp-content/uploads/2015/05/Various_cooking_knives_-_Kyocera_Henckels_Mac_Wiltshire-792x446.jpg" alt="Various_cooking_knives_-_Kyocera,_Henckels,_Mac,_Wiltshire" width="792" height="446" class="aligncenter size-single-xlarge wp-image-607927"]
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.”
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.
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.
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.
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.
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.