C# in Depth

Cover of C# in Depth
Order now (3rd edition)

Massively parallel - but at different powers?

Chapter 13: Elegant code in the new era: 13.4

Created: 3/6/2008
Last updated: 3/6/2008

Eric responded to my prediction of massively parallel processing with this twist:

What I expect to see is a few "big" cores – 2, 4 or 8 heavy duty processors – and then dozens of weaker cores. What's better, 16 Toyota Camrys, or 4 Camrys and six dozen guys on motor scooters? Obviously it depends on what job you want to get done; but there are lots of tasks that are amenable to this kind of parallelization.

I agree - this is a definite option, and in some ways is what you already have with a modern PC: the main CPU(s) are powerful, but you don't get very many of them, whereas recent graphics cards have many more effective threads of execution, each doing a very specialised job. If the task you want to perform can be parallelised in a way which is supported by the GPU architecture, you can often achieve much more that way than with the main CPU. (And if you have multiple graphics cards, that takes it to another level again...)

In other cases, I think there will be very large numbers of "reasonably powerful" main processors. These may be more geared towards servers than consumer technology. We'll have to see...