Going Parallel: Part 2: So who's really writing parallel applications?
In a crazy moment sometime ago I forked out a few UK Pounds registering a url how-parallel-is-your-software.com (not the real address). The plan was to use the site to let people register any applications they found that ran parallel. Perhaps even run a competition to see who could find the most parallel commercial application. Maybe this would be the route to me becoming the next dotcom millionaire! I never had the nerve to bring the idea to life. I suspect that the moment I published anything every lawyer in town would be knocking at my door.As developers move over to the parallel world, the multi-core hardware-software gap will decrease. Nevertheless, when I hunt around on my laptop I can find very few programs that run parallel.
Here's an interesting challenge: why not fire up your favourite apps and see if you can identify how parallel they are? There is a free tool the Intel Concurrency Checker that can be used to check how parallel an application is.
I've done a bit of unscientific profiling of the applications that are installed on my laptop, and couldn't find anything that reported a higher than 2% concurrency. Admittedly, most of my apps are at least two years old, so I guess that is what one would expect.
In the next blog I'll show how to spot the best places to add parallelism to your application.