Friday, 30 August 2013

All software needs to be parallel

I often use this slide to show why all software has to be aware of parallel processing now.

In short, if your software does not exploit parallel processing techniques, then your code is limited to less than 2% of the potential performance of the processor. And this is just for a single processor - it is even more critical if the code has to run on a cluster or a supercomputer.

1 comment:

bear said...

Interesting post. I have recently started a github repo for parallel algorithms. I initially implemented some sorting algorithms such as a Parallel Quicksort and a PSRS (Parallel Sorting by Random Samply) algorithm. I have seen some good results with the PSRS algorithm. They are designed to be a drop-in replacement for Java's built in sorting mechanism.

You can see the code here: At some point I will start on some graph algorithms (I've already implemented several serial versions).