Software application development
This blog is intended to provoke discussion and exchange between like minded software application developers, engineers, architects, project managers - and keen hobbyists too.
Thursday 16 August 2007, 9:25 PM
Parallel processing or perish?
As much as I wanted to succumb to the combined soporific effects of jet lag and the previous night’s over indulgence I quickly realised yet again why I love the software industry so much. We soon found ourselves immersed in a conversation on the relative merits of multi-core processors.
Although I know Intel is keen to tell us now that we need to develop with parallel processing in mind, the reality – it seems – is that so many applications are not built from the ground up to take advantage of multi core.
This means of course that if two streams of a multi-threaded app are trying to write to and/or read from memory at times that do not happily coincide, then rather than getting a speed boost from dual core processing, they are in fact subject to a hold up.
The official line from Intel (and this is taken from a meeting I had earlier this year with Intel’s lead evangelist & director of marketing James Reinders) is as follows, “I’m quite convinced that the ‘non-parallel’ era will appear to be a very primitive time in the history of computers when people look back in a hundred years,” he said. “Within a decade, a programmer who does not think parallel first will not be a programmer. The tools in this new world do not need to be radically different – but they need to address key problems related to abstraction of thread management and correctness verification.”
OK cool, but we’re not there yet are we? Just how far does parallel processing pervade into the way you approach development at the moment I wonder?


