4 ms·
And those processes and threads will run faster on a four core machine than an equivalent eight core machine. Keep in mind, going from four cores to eight core
by ghshephard 12y ago
And those processes and threads will run faster on a four core machine than an equivalent eight core machine. Keep in mind, going from four cores to eight cores does not buy you any extra transistors - it's the same number of transistors. What it does do is introduce extra cache contention, and likely smaller caches. It also introduces extra layout complexity.
Most laptops / desktops perform much better with at least two cores than one core. Particularly if you have a CPU hogging process - your UI can't remain buttery smooth interactive. There is even some argument to be be made from going from two to four. (Background application like a render, plus another App doing something nasty killing your CPU - you can still launch activity manager and kill the errant task).
But, It's not clear to me there's any value for the client for taking a four core machine and breaking it up any further as opposed to taking the increased transistor budget and improving those existing four cores.
Remember - the tradeoff is not "Do we want more, faster, transistors" - of course we do. Rather, the tradeoff is do we make smaller, lower cache cores, or do we make larger, bigger cache cores.
The evidence tends to suggest for the near future, that bigger cache, faster cores are the way to go on your average desktop/laptop.
- pwr22 12y agoBut surely is does buy you extra transistors in practice since the number of core tends to only increase every few years - meaning the additional cores come with new technological advances and are how the new transistors are put to use
- sklogic 12y ago> taking the increased transistor budget and improving those existing four cores There is not much space for improvement left. ILP had been stagnating quite for a while, and there is no hope of improvement with the current ISAs. More OoO-friendly ISAs are being developed, but are unlikely to hit the market any time soon. Caches are also approaching the upper limit, and for the bigger caches we need either some much smarter cache management techniques (explicit prefetching, etc.), or a totally different programming model (e.g., using a flat scratchpad memory explicitly instead of transparent caches). Core count grows for a reason - there is not really much stuff we can put into a single core any further, not without breaking the whole architecture.
- ghshephard 12y agoIn order to utilize those increased cores, though, developers will need to write code that can take advantage of them. Is there any indication of that happening? That's the second angle on this - even though writing parallel/concurrent code might in theory improve performance, it won't help if people continue to write single-threaded applications for everything except IO/Graphics. I.E. It might be still more useful to build bigger 4-core processors, simply because all the developers and code out there are designed to take advantage of them - and a theoretically better 6-core processor would just end up with 2-3 cores always idling.
- sklogic 12y ago> developers will need to write code that can take advantage of them In the said case of parallel compilation of, say, JS, it's only a tiny minority of the developers who need to be able to do so. > It might be still more useful to build bigger 4-core processors It would have been great if we could build any bigger cores. Unfortunately, there is not much scope for improvement left, not unless we ditch the existing ISAs and programming models.