How to choose the right programming model
Earler this week I watched a webinar on Beyond ";thinking"; parallel:How to choose the right parallel programming model. The webinar was first of a series of webinars on Real World Parallelism that will be broadcast over the coming weeks. James Reinders took us through some pertinent questions about what we should expect of a parallel programming model, he then went on to give examples of how different current and emerging parallel technologies 'fit the bill'.
First James discussed 'future proofing' any application development that we might be doing, asking such questions as: Do you know where your programs will be running in two years? Five years? A decade from now? Will investments in coding now be wasted? What programming model should you choose today for your algorithms, to protect your investment for the future?
We then heard some advice on what a good programming model needs. That is, Help with two things that touble the most experienced programmer (Correctness and Scaling); Help with productivity; Leveraging our prior investments in coding; and finally Future proofing.
James then presented a three tier model, and gave examples of how different parallelism languages \ solutions fit into the model.
The final part of the webinar gave a summary of 'where we are today', and gave some of James' recommendations on which language \ model could be used.
I'm not going to tell you eveything Jamses said here, that would be a bit like telling you the result if a pre-recorded football match you were just about to watch. The webinar is available on-demand from here.
I'm looking forward to the other webinars, especially if they are as interetsting as the one I've just seen.