Michael Suess over at the always interesting Thinking Parallel blog wrote a number of interesting pieces recently. I would suggest a trip over there to read some of them. I must thank him at some point for pointing to us as part of his “you are what you read” post. We aren’t on an anti-Microsoft spree, and I am not trying to “kill” them. I am being skeptical about their motives, and noting that there are alternative and simpler explanations for their actions. Unfortunately, Microsoft has managed to offend quite a few practitioners of HPC with their “now its mainstream” marketing message, and their recent faux-paux with patent FUD, claiming that users of Linux were effectively IP thieves.
That said, we have tried to work with them, but they seem more inclined to have benchmarks run than applications natively ported and tuned before being run. Yeah, you need to think about that one a bit. But that is off topic.
The post that struck me most recently was his “5-things” post. One of my largest complaints about parallel programming are the debuggers. In many cases I simply return to the tried and true print statement. Of course, when you are dealing with a large MPI program, where the print statements are not guaranteed to be in order, well, debugging can get exciting.
His other points nail the problems we have seen as well. Strongly recommended reading.
Short version: There are no silver bullets, parallel programming is not easy, our tools are not up to the task of program construction nor program problem discovery.
He says it far more eloquently than that.