A revolution is happening in computer hardware. After three decades during which microprocessor speeds increased almost 4000 times, we are starting to hit long-predicted physical limits on the speed of a single processor. Recent computers instead use two, four or even twelve processor cores working together ``in parallel'', giving peak performance that is equivalent to a 5GHz, 10GHz or even 30GHz ...