Parallel Programming is easier than separating 2 corks

I've known Prof. Tom Murphy for a few years now. Whenever we were at a conference or other event together and had dinner, he invariably would ask the wait staff if they had two corks he could have. If the place served wine, it wasn't too difficult to find two corks that were the same size or close.

Upon receiving the corks, Tom would demonstrate his "cork trick" and mystify everyone that had not seen it before. After going through it three or four times he would hand the corks back to our server and have them try to do it. They would go away, sometimes showing others, as they struggled to figure out the trick. If they actually tried to recreate the solution as Tom had been able to do, they always came back before we had paid the check and triumphantly demonstrated their dexterity.

At SC11, the Educational Alliance for a Parallel Future (EAPF) commissioned some corks with the organization's logo. Tom wandered around part of the conference urging attendees to try his cork trick. The tagline he used was that "Parallel Programming is easier than the cork trick." You can see a short video of his efforts to bring a little magic to the SC11 proceedings here.

If you meet Tom with some corks in his pocket and he brings them out to show you the cork trick, be aware that he will never show you the solution. (He says he really likes me, but I had to figure it out for myself.) Like most problems you encounter in life, very few are impossible to solve; it is just that you don't have a solution, yet.

Parallel programming is the same. It may seem difficult and impossible to figure out, but that only means you haven't discovered the key that will allow you to wrap your brain around the concepts.
For more complete information about compiler optimizations, see our Optimization Notice.


Raf Schietekat's picture

I wonder whether the thought processes behind figuring this out are relevant to programming at the meta-level or only the meta-meta-level (it's difficult to say more without giving the trick away). :-)

Add a Comment

Have a technical question? Visit our forums. Have site or software product issues? Contact support.