Multi-core processors for Android - in my opinion only - isn't a case of if, but rather - when.
I personally segregate this all into Theory and Reality, kinda like this -
Theory:
In reality, our phones' processors are _insanely_ advanced - they're all system-on-a-chip (SoC) devices - they contain a CPU core, a GPU core, and then (depending upon model) a digital signal processing (DSP) core, an image signal processing (ISP) core, and various components such as hardware accelerators and so forth.
Think of almost a motherboard on a single chip and you've got the idea. So - the integration is already there, and as manufacturing processes continue to spiral downward in scales for higher power efficiency, increased speed - or a little of both - the challenge of adding just another CPU core isn't as great as it once may have been.
We care about performance (fill in the blank what that word means, you can't be wrong in my book on your version) and _battery lifetime_ (so well noted already in this thread) with our phones.
OK - so we have this fancy OS - Android - using the Linux pre-emptive multitasking model - and no matter how you slice it (no pun intended (or taken, I'm sure)) things just bottleneck when you hit the one-thing-at-a-time CPU core.
Suppose - and I'm simply pretending - suppose you had one CPU core that merely ran the supervisory details and management functions - and the other CPU core just happened to run everything else (so that part of the second one is just like what your single core CPU does today on your phone). So rather than fancy parallel processing model - we suppose a model with one core being the dedicated supervisor to the system and the application and service multitasking in the other core - kinda much simpler. Now, hold that thought.
One WAY COOL feature of our mobile SoC processors is that they're _variable speed_ devices. They dynamically speed up and slow down, depending on the application / service load at any given time - with a simple target: as the phone needs to do more, it never seems to lag - and when it needs to do less, no power is used running the processor at constant speed and then just wasting that power as wasted heat (that's what your desktops and laptops are doing right now - but not your cool, mobile, super SoC stuff).
Now - put together that supervisor idea in a separate core - with the variable speed thing - and smaller, more efficient devices - what _MIGHT_ that add up to is:
- More efficient multitasking - equaling - higher performance from the USER point of view, not just some benchmark
- More efficiently controlled multitasking - equaling - even better speed control for that performance - equaling - even LESS wasted battery power
And HOW much in the way of new software might be required to accomplish that? Hold on to your hat - pretty much just the kernel and a few other modules.
Would that be the most theoretically efficient dual-core design? No.
Could that be done and could that represent a great leap forward in battery life with a big performance increase?
Theoretically - you betcha!
Reality:
This part is simple. Especially because I freely admit to not knowing - but I can point out a few things and let you decide what matters.
- OK - anyone who's rooted and tinkered around knows that a kernel mod can increase performance - or battery - or some combination of the two.
- We've all seen about a zillion internet threads arguing processor merits one over the other - if you haven't - google my name, because I participate in some of them.
- While we _think_ we know what the present processors can do and which one is king of the heap - we really don't know that. With the exception of the superior OpenGL performance of the Hummingbird processor, name me a phone, and I'll find you a custom kernel mod with a mind-staggering set of _valid_ benchmark results that will change what you think you know.
- The point? The big-iron phone makers supply VERY safe, very pedestrian kernels. They do a great job, but that's it. The power of the single cores we're already running is locked away unless you want to tinker and tinker to hit extraordinary.
- So - with even the simple architecture I describe in my theory section - the big iron phone makers could distribute near-extraordinary performance with just a little more than a safe, pedestrian approach.
BUT - will they?
Maybe yes, maybe by next year - and maybe never.
The big iron phone makers never cease to amaze me at how cool they can be - ditto on the Android devs, both for the OS and the apps. Your Galaxy-class phone is proof of that (as are their competitors, honestly).
They also never cease to amaze me on dumb some of their mistakes can be - give it up, c'mon - we all _know_ that's true - yes?
I remember hating the first dual-core CPUs for desktops - we were early adopters - they were pricey, and in many applications (Murphy's Law - the ones we cared about at our company) were doggier than the sleek single core models we knew and loved.
But - over time - that improved and now I wouldn't consider anything below a Core 2 Duo in my laptop.
I think that's the deal coming with phones.
But - I could be very wrong on this. I often am.
And a PS for what it's worth - I work in the semiconductor industry and I have been a kernel developer (not for phones!) in an earlier part of my career. And - I'm not associated with anyone and have nothing to profit in any way by however this turns out - and no insider info was used in the making of this post. Sometimes - I just like to talk about theories.
Thanks for reading - and if I've helped understanding in any way whatsoever, then that's made this post twice as much as fun for me.
I used a lot of your space, gang - sure hope this contributes to your discussion.