Qualcomm Says Eight-Core Processors Are Dumb 526
itwbennett writes "Following rival MediaTek's announcement of plans to release an eight-core processor in the fourth quarter, Qualcomm has declared eight-core processors 'dumb'. 'You can't take eight lawnmower engines, put them together and now claim you have an eight-cylinder Ferrari. It just doesn't make sense,' Qualcomm's senior vice president Anand Chandrasekher said, according to a transcript of his comments to Taiwan media provided on Friday. Asked whether Qualcomm would one day launch its own octa-core processor, Chandrasekher said, 'We don't do dumb things.'"
cut the rug (Score:2, Interesting)
If I tie 8 lawn mower engines together, can I belt up the blades to cut the lawns on each of the 8 motors as well? That would allow for a very wide cut of a large lawn. I think it all depends on the problem set, and how you solve it.
Re:qualcomm is right (Score:3, Interesting)
You're just missing vision. Imagine Ubuntu Phone on an 8 core processor, you could have it run virtual machines and seamlessly switch between Android, Windows Phone, BlackBerry, IOS... who doesn't want that?
Plus you'd still have enough oomph to run a torrent server, a tor node or just use your phone to mine some bitcoins.
Re:VM (Score:4, Interesting)
to be fair you're not running VMs on a phone/mobile unit.
Are you sure? Android phones will most likely be running a Dalvik Virtual Machine.
Re:qualcomm is not right (Score:5, Interesting)
It is the fallacy behind the Pi. I have 4 of them and use them for everything. However I'm not interested in taking significantly limited resources and programming against that in an effort to build my skills. I want the power. So a quad core Pi with SATA, Wifi, 2-4 GB of RAM, using just 5 watts of power, and much more, for $20.00 is just fine by me. I'd use that too. So would every other developer. I'm sure current developers hate the limitations of some of the devices out there.
Re:qualcomm is right (Score:5, Interesting)
I would think that an eight core processor might make sense for a high end smartphone; you could have four cores with scalable clock speed for high performance computing (gaming, video editing, etc.) and switch to four low-power cores on the fly, which will still multitask very well but will conserve power. If only any smartphone manufacturer [samsung.com] would introduce such a beast. [wikipedia.org]
Re:qualcomm is right (Score:5, Interesting)
Not so sure about that. Parallel code tends to have plenty of overhead even after optimization, e.g. expecting approx. 2.5 times speed increase from single-core when running on 4 cores is more realistic than a 4 times increase. Data must be shuffled around, OS threads prepared, contexts are switched, etc.
Re:qualcomm is right (Score:5, Interesting)
Parallelization does introduce it's own overhead. Some problems can be made to run parallel very easily without much effort. For example, lets say you have an unordered database of names and you want to count how many letter "A"s are in each name. You can very easily divide the database into eight equal parts and send it off to eight cores for processing and they will happily churn away until you have your answer with almost no additional overhead.
However, different problems cant be as easily parallelized. For example, lets say you take the same database of names and you want to sort it alphabetically. You can send each chunk of the database off to be sorted on each core, but now you have 8 pieces of the database that are all sorted and need to be merged back into the original list. This extra work of merging and communicating becomes the overhead.
This is a very simple example, but for many problems the speed gained by parallelization is reduced for every new thread. So you might get an almost 50% speedup by adding a second core, but the third core will give you maybe only 20% speedup, and the fourth 15%, etc...
And as mentioned by others, parallelization is almost always done to improve performance, not efficiency. It would be more power efficient for the one core to do the job if you are measuring efficiency by something like cycles per watt. This doesnt make much sense in a mobile device whose paramount concern is to run a long time on a battery.
multithreaded sorts (Score:5, Interesting)
Nah, you're just doing it wrong. Take list of names, then mark as, or make sublists, the main list with [#ofThreads] of alphabet, which involves no more than looking at the 1st character and using that to target a list - a jump table of [alphabet] size would allow doing this in one instruction. There's a need to make sublists anyway, so creating them in a "deal the deck" way incurs no significant overhead. Hand off to multithread sort, result comes back in already completely in order, just link the new list ends in your [#ofTHreads] order and you're done.
There are certainly hard-to-parallelize problems, but alphabetizing a list isn't one of them.
Re:The Onion said it best (Score:5, Interesting)
I use cheap disposable single-bladed razors.
Use once, throw away.
$1 for 10 of them.
Re:I'll say it (Score:4, Interesting)