In a recent lead article in Computerworld, a warning was sounded that lack of Parallel programming skills among developers would be "one of the biggest questions for computing over the next decade."
Speaking from my perch as Community Manager for the Intel Academic Community I can only agree to this and say that the answer lies, in large part, with you, educators teaching computer science worldwide. Paraphrasing John Gustafson, Director of Intel labs in Santa Clara, I'll add that we'll know we have met this challenge when we no longer teach parallelism as a special case or elective, indeed, when we no longer talk about teaching parallelism at all- it will just be the way computer science is taught.
This goal has gained acceptance throughout much of the academy. Still, getting there is another matter entirely. What precisely should we teach and what needs to drop out?
John's view is that (one of ) the key concepts to teach will be data placement. He believes that any teaching program that abstracts away the cost of placing and moving data is doing a disservice to its students.
John will be leading a panel on this subject at he upcoming Intel Developer Forum, Thursday September 15, 2011.
Interestingly, a strong voice backing up this assertion comes from a very competitive quarter - Dr. Benedict Gaster, of AMD. Dr. Gaster avers that the solution lies in memory models, and touching upon a point raised by Dr. Harland in the Computerworld article, in lock free memory models in particular.
Just coincidently, Benedict Gaster will also be speaking on the panel moderated by Dr. Gustafson.
Want to contribute to the conversation? Come to IDF. You can find a link to more info about the IDF as well as a way to get free education passes here.
Can't make it? We'll be holding a related panel+breakout session at Supercomputing 2011 in Seattle later this year.
If you want to submit input to the panel - put it in the comments section below or in my other blog on the topic here.
Is parallelism a choke point for the advancement of computing? Education is key.
For more complete information about compiler optimizations, see our Optimization Notice.