How many cores does a smartphone need?

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
It seems the WP community is rather divided on this subject, which is why I wanted to share my opinions on this matter as a software developer. I have quoted some of the comments made in the "Anyone having doubts about the WP8?" thread.

By now, most people realize that having a device with 64 cores will benefit them squat, if the apps they use weren't explicitly engineered to make use of multiple cores. However, many still don't understand that an app that makes use of TWO cores can't necessarily (particularly not automatically) make use of three, four or more cores. It doesn't work that way.

An app developer must "package" up the apps computational load into separate tasks. This packaging only results in a perceptible benefit if:

1) Tasks run simultaneously (in parallel) for a noticeable amount of time. In the best case scenario, tasks run continuously while "spiting out" useful results every so often.
2) Tasks run largely independent of each other

Failing the former means that a packaged up task is so small (possibly running only for a couple of microseconds), that the time saved isn't noticeable and thus irrelevant.

Failing the later means that tasks will spend much of their time waiting on each other (i.e. for intermediate computational results), defeating the purpose of running tasks in parallel in the first place.

So, what's the problem? The problem is that most consumer applications simply don't have the kinds of computational workloads that lend themselves to being packaged up in such a fashion. In all the realm of consumer software, twitch type games are the exception, and even for them making use of any cores beyond the second becomes increasingly difficult.

Even on the PC, were we've had quad-core CPU's for years, you will only very rarely find the occasional game that makes meaningful use of more than two cores (Battlefield3 is one such rare exception). This type of game, which would kill any smartphone's battery in a matter of seconds, simply isn't a realistic proposition for the foreseeable future.

Server software (web-servers or multi-user databases) or graphical rendering applications have completely different types of workloads that are easily distributed across any number of cores. But when was the last time you installed something like that on your smartphone?

In the Android ecosystem, not a single app exists which has anything to gain from running on quad-core smartphones. What Google and Smartphone manufacturers won't tell you is that this isn't expected to change anytime soon... in fact, Google is so sure no app will need more than two cores, that they have "crippled" Android's thread-scheduler to prevent any app from consistently using four cores. They did this in the interest of prolonging battery life. This is actually a good thing, and it proves Google knows what they are doing.

What I'm getting at is that quad-core smartphones are a marketing gimmick used to sell smartphones to low-information enthusiasts.

If you want to learn more I would also suggest reading up on Amdahl's law (google it).

I've picked out a few comments in the hope of clearing up a few common misconceptions:

I don't know if our current devices not being able to take pictures while recording is because of hardware limitations or not.

For WP7 devices, hardware limitations probably are an issue, the main one being the DSP. Memory bandwidth is also of concern. However, the number of cores is rather irrelevant in this regard.

But what I'm afraid of is that there aren't coming any quad cores in the beggining and we are going to keep playing the catching game. Seeing other brands being able to receive apps that WP8 can't receive because the available phones don't have enough horse power is not going to be nice. But then again, I really hope that I'm wrong.

Microsoft has repeatedly stated that they intend to strictly standardize the hardware platform. So far they have followed through with it. As the WP8 hardware specifications state exactly which Qualcomm SoC is to be used, and as that SoC doesn't feature a quad-core CPU, it is pretty much out of the question that any OEM will release a quad-core device.

For the reasons I stated above this is not a bad thing.

If we want faster hardware, what we really should be yelling for are faster cores... not more of them.

- the phone heats up? I blamed HTC for months, only until I realised that Lumia 800 was exactly the same. I believe most of the WP (single cores) are the same? Probably because our normal tasks that run so smoothly max out our CPU all the time? But with multicore, even though we don't "need" it, perhaps it wouldn't heat up?

Most CPU cores run at either full throttle or not at all. If a performance monitor shows you that one of your cores is running at 50%, that means that during the last second that core was running for half that time. During that half second however, that core was maxed out (somewhat simplified, but it gets the gist of it)!

The likelihood of a smartphone heating up less due to an extra core is rather slim. If that single core could complete the same workload faster and then shut off sooner, say after a tenth of a second, that would be more helpful. Again... we should be calling for faster cores, not more of them.

Technology advance quickly these days. There will be SOME function that can utilize that quad core spec. Who knows what.

Quickly, but incrementally. What you are suggesting would need something a bit more disruptive and revolutionary than what we have seen during the last decade, and it will be more related to software than hardware. It certainly isn't impossible, but at this time such an advance isn't just around the corner...

I'm not saying quad-core CPU's are useless. They have many practical uses. Currently we just don't find any of those uses in the realm of smartphones.

What do you think?
 
Last edited:

theefman

Active member
Nov 14, 2008
3,979
5
38
Visit site
I say bung as many cores in there as possible, because the uninformed include so called "tech journalists" who have no clue and will mark a handset down if it doesnt have specs as high as their fav device. So I say 64!! :confused:
 

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
I say bung as many cores in there as possible, because the uninformed include so called "tech journalists" who have no clue and will mark a handset down if it doesnt have specs as high as their fav device. So I say 64!! :confused:

Okay, that is one approach that can't be argued with. I would prefer educating the public over marketing/lying to them, but possibly that is a lost cause. Possibly also the reason Microsoft isn't doing it :mad:
 

speedfreak228

New member
Oct 5, 2011
94
0
0
Visit site
Great post! This post contributed more than any other post I have seen here in a while. To be honest for everyday use my titan I had seems to run just as good as my galaxy s3 does, but the titan does look better doing it with wp as the OS :)
 

cckgz4

New member
Aug 30, 2011
1,970
3
0
Visit site
as many as it takes to make the phone smooth. And in one of those quotes, the Samsung odyssey is getting quad core right?
 

PG2G

New member
Dec 20, 2010
453
0
0
Visit site
Most CPU cores run at either full throttle or not at all. If a performance monitor shows you that one of your cores is running at 50%, that means that during the last second that core was running for half that time. During that half second however, that core was maxed out (somewhat simplified, but it gets the gist of it)!

In some CPUs, cores can be over or under clocked (or even turned off completely) dynamically based on the current workload. So while they may be running at full throttle, the definition of full throttle changes.
 

X0LARIUM

New member
Aug 11, 2012
1,799
0
0
Visit site
Dude...dont let people talk you down. Do what you believe in. Your thread is very informative, so keep it up. Don;t forget, if 100 people will flak you, there will be at least 10 who will understand you and appreciate what you are doing. And remember, only those 10 matter.
 

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
as many as it takes to make the phone smooth. And in one of those quotes, the Samsung odyssey is getting quad core right?

One of the great things about WP is that the entire UI is run off the GPU. Android only recently got around to doing this, and still doesn't do it to the same extent WP does. GPU's are much more efficient at manipulating graphical data, which explains why WP7 is so much smoother than Android, even on inferior hardware.

So, assuming our definitions of "smooth" are similar, WP only needs a fraction of a single core to give us that (basically, CPU cores will sit around twiddling their thumbs while the GPU races though millions of pixels). You should be careful what you wish fore, as I'm sure you would want more than 1/10th of a core in your phone ;)

Samsung Odyssey? I did a quick search. The first three sites all stated it will be a dual core device. I wouldn't want to rely on that though. Tech journalists generally haven't the foggiest what they are actually blogging about. I prefer to read Microsoft's strategy papers and understand their policies concerning their cooperation with hardware manufacturers. Microsoft has stated that the only SoC currently certified for WP8 is the Qualcomm Snapdragon S4 Plus. Take a look at Qualcomm's high-level specifications for that SoC... you will notice it is a dual core SoC:

Snapdragon™ Processors | All-in-One Mobile Processor | Qualcomm

Unless I am unaware of a recent policy change, there is no snowflakes chance in **** of any quad-core WP8 device coming out any time soon... that includes the Samsung Odyssey.

From a technical standpoint, that is the most reasonable thing to do. It may not be the best marketing arrangement.

Finally, if some WP8 devices had two and others four cores, WP would loose many of the advantages it currently has over android. This would mark the beginning of major hardware fragmentation in the WP ecosystem. This should be prevented at all costs. Microsoft understands this very well. So far they have made many tough decisions in the interest of keeping hardware and software fragmentation low (virtually non-existant). Although possible, it is unlikely Microsoft will start changing these policies now.
 
Last edited:

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
In some CPUs, cores can be over or under clocked (or even turned off completely) dynamically based on the current workload. So while they may be running at full throttle, the definition of full throttle changes.

Yes, that is true. That is precisely the reason my paragraph started with the words: "MOST CPU cores".

I am a software guy, so I can't speak with authority on what is currently available in the mobile SoC market. As far as I know, ALL mobile SoC's force their CPU cores into the lowest possible energy state when they are not under load (turned off completely). That is what I meant when I stated that cores run at "full throttle or NOT AT ALL". I am not aware of any SoC's that dynamically overclock (likely due to power consumption issues), but most lower their clock rates (underclock) as soon as more than one core becomes active. In that sense you are certainly correct that the definition of full throttle can change based on power and temperature restrictions.
 
Last edited:

cp2_4eva

New member
Mar 19, 2012
755
0
0
Visit site
I like the original post except for one thing. We don't truly know what is around the corner or how fast it is coming. The rate that technology is advancing is astounding. At first technology was a crawl, but not it's a little more than a swift jog. For people who keep their phone for the duration of their 2 year contract they could POSSIBLY be future proofing themselves. For people who swap phones like they swap underwear, this is a non issue because they will just get the next phone that will finally be able to actually use all 4 cores. That 4 cores thing is a gimmick, but it's a gimmick that is selling. The HTC One X still suffers from lag at times. Why? Because like you said....not using all for cores. Isn't that UI being offloaded to the GPU anyways?

All in all, very educational and well thought out post. Me likey. I'll still probably buy a quad core phone from HTC. Not because of the cores, but because of the size of the phone. 4.7 inches is what I want.
 

cp2_4eva

New member
Mar 19, 2012
755
0
0
Visit site
I think you need a tablet. :D

Oh no. I had a tablet and sold it off. I like something small enough to fit in my pocket, but big enough for me to not have to put 6 inches from my face. One reason I don't do iphones. My smartphone is more than a smartphone. It's my personal companion. It gives me updates on the world, helps me when I am lost, entertains me, educates me, and wakes me up in the morning. I can't take a tablet everywhere with me....too much to carry. But I can take a smartphone almost anywhere. Also, i have big hands. I can type one handed on a screen that big. lol.
 

scottcraft

Active member
Aug 1, 2011
2,401
0
36
Visit site
I like the original post except for one thing. We don't truly know what is around the corner or how fast it is coming. The rate that technology is advancing is astounding. At first technology was a crawl, but not it's a little more than a swift jog. For people who keep their phone for the duration of their 2 year contract they could POSSIBLY be future proofing themselves. For people who swap phones like they swap underwear, this is a non issue because they will just get the next phone that will finally be able to actually use all 4 cores. That 4 cores thing is a gimmick, but it's a gimmick that is selling. The HTC One X still suffers from lag at times. Why? Because like you said....not using all for cores. Isn't that UI being offloaded to the GPU anyways?

All in all, very educational and well thought out post. Me likey. I'll still probably buy a quad core phone from HTC. Not because of the cores, but because of the size of the phone. 4.7 inches is what I want.

At this point in time there are no quad core phones sold in the US. The Snapdragon S4 mentioned above is the chip in the GS3 and One X. I'm pretty confident a WP with that processor will be adequately powered through the life of a two year contract. Quad core will be just an advertising gimmick for some time.
 

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
I like the original post except for one thing. We don't truly know what is around the corner or how fast it is coming. The rate that technology is advancing is astounding.

Hello cp2_4eva, thank you for taking the time to reply. Unfortunately, it seems I am not explaining things well enough. I understand your point, and your position sounds very reasonable, yet you are wrong.

As we are talking about smartphones, the most relevant technological advancements are the ones made in the semiconductor and software industries. Neither of these industries have seen any major technological breakthroughs in the last 15 years.

What you describe as "an astounding rate of technological advancement" stems mostly from the the process of miniaturization. Nothing revolutionary. In fact, many in the scientific community would argue the opposite of what you are saying, namely that the rate of technological advancement in the semiconductor industry is slowing (which I agree with):

The death of CPU scaling: From one core to many — and why we’re still stuck | ExtremeTech

Anyway, my point is that this problem won't be solved by incremental improvements. To solve this problem, we truly need something revolutionary, which will unavoidably involve freeing the developer from having to package up these tasks him/herself. Some "magical" mechanism would need to do this for us... something that could take the simplest fart app and automatically distribute that (modest) computational load across 64 cores if that is what the fart app is running on.

The computer science community has been poking at this problem for the last 20 years. Even if they did achieve a breakthrough tomorrow, it would still take many years for it to filter down into commercial software development. At least that is how it has been ever since the birth of the IT industry in the 1950's.

No, I don't have a crystal ball either, but I know how this industry works. What you are hoping for isn't impossible, but like I said... it isn't just around the corner.

The HTC One X still suffers from lag at times. Why? Because like you said....not using all for cores. Isn't that UI being offloaded to the GPU anyways?

WRONG! It has nothing to do with the number of cores being used... at all!!

My home computer from the 1990's (Amiga 500) had a single core CPU and was clocked at 8MHz (MHz, not GHz, that is over 120 times slower then what we've got in our smartphones today). Yet it had no problem with super smooth sub-pixel scrolling and it could even do simple 3D graphics without hardware acceleration.

The reasons Android devices stutter are all software related:
1) Hardware manufacturers are often incompetent software developers. Most of them simply don't care how inefficient the software driving their hardware is (looking at you HTC).
2) Background tasks that arbitrarily start running and bog down the CPU while you are trying to scroll the UI (this is one of many reasons why the developers of WP and iOS opted against real multitasking)
3) The developers of Android having no clue what hardware configurations their OS will ultimately run on. So although they do offload UI rendering tasks to the GPU, they have no idea what the performance characteristics of the GPU might be (iOS and WP have major advantages in this area, as the developers of iOS and WP know exactly what hardware their OS' will be running on).
4) Many many other reasons I won't bore you with...

The notion we need more cores just to get decent UI performance is ridiculous. It's like saying, if you mount an extra set of wheels on your car (3 axis instead of two) you will be able to drive faster.

Hope I could clear that up.
 
Last edited:

theefman

Active member
Nov 14, 2008
3,979
5
38
Visit site
Samsung Odyssey? I did a quick search. The first three sites all stated it will be a dual core device. I wouldn't want to rely on that though. Tech journalists generally haven't the foggiest what they are actually blogging about. I prefer to read Microsoft's strategy papers and understand their policies concerning their cooperation with hardware manufacturers. Microsoft has stated that the only SoC currently certified for WP8 is the Qualcomm Snapdragon S4 Plus. Take a look at Qualcomm's high-level specifications for that SoC... you will notice it is a dual core SoC:

Snapdragon™ Processors | All-in-One Mobile Processor | Qualcomm

Unless I am unaware of a recent policy change, there is no snowflakes chance in **** of any quad-core WP8 device coming out any time soon... that includes the Samsung Odyssey.

Dont forget the HTC "Zenith"! This point is always glossed over by the spec fans who blindly believe more cores is all thats needed for WP to succeed and is explained by "tech is advancing faster than before". I remember all the rumours about the specs of the HD7 that were disproved when it was eventually released, and so many were disappointed and vowed not to buy WP because they were "betrayed". Probably going to happen all over again this year. :dry
 

MrBurrrns

Banned
Mar 9, 2011
170
0
0
Visit site
The reasons Android devices stutter are all software related:
1) Hardware manufacturers that are incompetent software developers and just don't care how inefficient the software driving their hardware is (looking at you HTC).
2) Background tasks that arbitrarily start running and bog down the CPU while you are trying to scroll the UI (this is one of many reasons why the developers of WP and iOS opted against real multitasking)
3) The developers of Android having no clue as to what kinds of hardware their OS will run on. So although they do offload UI rendering tasks to the GPU, they have no idea what the performance characteristics of the GPU might be (iOS and WP have major advantages in this area, as the developers of iOS and WP know exactly what hardware their OS' will be running on).
4) Many many other reasons I won't bore you with...

This is getting a bit off-topic but for those that haven't seen this I recommend this very interesting article and the following discussion and updates:

https://plus.google.com/100838276097451809262/posts/VDkV9XaJRGS

It goes into some of the reasons for the notorious Android lag and how all that mumbo jumbo happens. Very interesting read.

Also, Amiga 500!!! Rock on! :) Oh the memories... Best computer ever! :)
 

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
This is getting a bit off-topic but for those that haven't seen this I recommend this very interesting article and the following discussion and updates:

https://plus.google.com/100838276097451809262/posts/VDkV9XaJRGS

It goes into some of the reasons for the notorious Android lag and how all that mumbo jumbo happens. Very interesting read.

Also, Amiga 500!!! Rock on! :) Oh the memories... Best computer ever! :)

LOL, so true. I still miss that pile of silicon even today. It was the Amiga demo scene that got me into computer programming. Man... I feel old saying this, but I get all teary-eyed just thinking about it ;)

Anyway, thank you. Very interesting read indeed. Some of it I knew, but many of the finer points were totally new to me! It just goes to show how involved just moving a bit of content around the screen actually is, and how much of this stuff we take for granted.
 
Last edited:

Members online

Forum statistics

Threads
326,570
Messages
2,248,578
Members
428,515
Latest member
crousetored