jamesh wrote:Nothing wrong with multiple cores. In fact, the market is going to go very multiple over the next few years. Because, contrary to Intel assertions, you can save power by going multi core. Software isn't a problem - even if an individual app isn't multithreaded, multiprocessing means you still get a speed up with multi cores. (different apps on different cores). Take the Videocore, that has 2 main cores plus lots of other smaller cores. No problem with power management there. Main CPU's are going the same way.
The operative word there is "can", which is not the same as "will". Software is exactly the problem, especially when more than one thread wants access to the same resources, and there's nothing the hardware can do about that, no matter how many cores/processors, etc., you have.
Hardware folks tend to get all dreamy and poetic when it comes to multiprocessing, but, after 30+ years since it was first implemented, precious little software has ever been written to maximize multiple processor/core capabilities outside of massively-parallel high-performance computing, and a lot of that's written in FORTRAN, for goodness sake. That's mostly because it's been around long enough for the libs to have had virtually all of the bugs squashed - that's why the Mars rovers have FORTRAN libs linked in - they're very reliable. Software written last week? Not so much.
We've already seen the bone-headed things people do in app software when it comes to squandering resources, and the mobile app development field is replete with newbs who have no idea what they're doing beyond a fancy GUI and a bunch of API calls to the software and hardware doing the real work. The days of apps that each just run in their own little wonderland and don't contend for shared resources are long passed. Pretty much all of the apps on mobile devices today are sharing almost everything including data in memory, radio bandwidth, battery status, current geographic location, dozens of network streams, etc., etc., etc. On top of that, the radio bandwidth keeps going up so that even more data to be shared can be sucked down into the devices. That's why the high-end quad-core phones and tablets all have such crappy battery life.
Throwing more hardware at poorly-integrated software doesn't solve the problem, it just makes the bugs happen faster
The best things in life aren't things ... but, a Pi comes pretty darned close!
"Education is not the filling of a pail, but the lighting of a fire." -- W.B. Yeats
In theory, theory & practice are the same - in practice, they aren't!!!