The Wayback Machine - https://web.archive.org/web/20081224080855/http://software.intel.com:80/en-us/blogs/2008/11/12/sequential-programming-is-no-more-lets-teach-parallel-programming/
 
 

Sequential programming is no more. Let's teach parallel programming.

By Paul Steinberg (Intel) (4 posts) on November 12, 2008 at 3:02 pm

Killing the Minotaur - Following Ariadne's thread to Supercomputing08

Well, we're not out of the labyrinth yet, but we are working on it. In preparing for the panel discussion There Is No More Sequential Programming. Why Are We Still Teaching It? at Supercomputing08 , we had each of the participants -AMD, NVidia, IBM, Microsoft, Intel, Sun - submit questions for the panel. Not all responded (insert herding cats cliche here), but many did. Since I did not ask permission, I'll preserve a modicum of anonymity by leaving out the company names. For fun, submit your guesses as to which company proffered which questions ;-)

What do you make of these questions? Are they the right ones? What would you suggest?

Hopefully, we'll see you in Austin or online soon! Learn more here.

Questions

Company A

Company B- From the viewpoint of we don't need no steekin' parallelism in our curriculum:

From the viewpoint of If your curriculum doesn't focus on parallelism, it does not deserve to exist:

Company C

Below are my bullets:

Company D's Devil’s advocate questions

Company E

Categories: Academic, Events, Multi-Core, Software Engineering

Comments (2)

December 6, 2008 11:08 AM PST


Gordon Wilson
Why oh why don't you forget about thread programming and consider ,that there will be capacity for more-important multi-simultaneous tasks(ie:-stick a motor-controlled camera atop your'e screen and assign a task to it )speculative execution past local-jumps using two threads to do this,would/may save overhead savings over ' multi-threading'.
Example :-good code needs well defined decisions= multiple jmp-clauses in the code close together. so two or three tasks execute each branch speculatively any failed taken-up-threads rejoin-the winning thread maybe one instruction beyond the branch to cut down on electricity/cache ,the mechanism could be multiple-read-access to the code execution-scene to the-three-thread-processes.
Whether 2/3/5 are the best to use depends upon the time-to-rejoin parameter and how far beyond a branch we want to regularly catch-up.
December 21, 2008 4:43 AM PST


Ralph Corderoy
The POSIX threads model is what seems to be the stumbling block in bothering to teach concurrent computing to students. It's needlessly low level. error prone in use, and a poor way of thinking about the issues; we're stuck at the P()/V() level of semaphores.

Bell Labs did much better at this. Starting with CSP they came up with a delightfully simple way to have dozens, or hundreds, of threads of execution conceptually running in parallel using channels as a means of both message passing and synchronisation. Their Alef and Limbo had channels and message passing as language features. http://en.wikipedia.org/wiki/Alef_programming_language
It's a shame their conceptual model hasn't caught on more. I did see one of the UK universities, Kent?, pick up and run with the ideas using Occam; it included an O(1) "sort pump". ;-)

Trackbacks (0)


Leave a comment