Parallelism Tidbits Heard at PDC

Here at Microsoft's Professional Developers Conference, I'm busy attending every session they have on parallelism.  Microsoft engineers deserve high marks for talking about parallelism at PDC very well - not hyping it, not ducking it - very good presentations.  I suspect much of it will end up on Channel 9 and will be worth watching if you were not fortunate enough to be at PDC 2008.

I'll probably write a blog to summarize their announcements later - it is very interesting.  But I felt more like grabbing some of the cool "sound bites" I've been hearing, and post those - I hope they are interesting.

One disclaimer: I've certainly not captured every word exactly - any paraphrasing was done without changing the intent or tone of the comments.

Do not use parallelism if you don't need the performance now.  But plan for it - it is absolutely inevitable - as your data expands, as more processor cores are available, as more tools arrive. You must plan for it now. (His entire talk was about how to add a parallelism to a program.)

- Hazim Shafi of Microsoft

Lambdas are THE coolest new feature in the C++ proposed standard - they are going to be SO great.  It is great to learn that Microsoft and Intel are supporting them already!

- overheard in a session, one developer to another

Q: We need to support customers on Windows 2000. Will the CTP (for parallelism) support Windows 2000?
A: (after laughter dies down in the audience, and heckling stops)  No.

- Rick Molloy, Microsoft

Q: will you release source for PPL?
A: PPL and Agents are templates - get the CTP and look at headers! They are build on concurrency runtime - the templates are the source code for how PPL and Agents use the concurrency runtime - you have the source!

- Rick Molloy, Microsoft

Q: I use TBB - is there an advantage to move to Microsoft's PPL solution?
A: An advantage of staying with TBB it exists NOW, PPL is only CTP (communty preview - not a product). PPL does use the Concurrency Runtime.
Q: When TBB uses the Concurrency Runtime, will there be an advantage to switch to PPL?
A: Unclear when that is, and too soon to say.

- Rick Molloy, Microsoft
(Rick had been saying nice things about TBB all through his talk - including going out of his way to point out that there are many advantages in having a little healthy competition to build on each other, but ultimately say in-sync over time so developers all win.  I went up afterwards and told Rick he did a great presentation. He showed me some very nice demos at the Microsoft booth. Developers really are going to win from a little healthy competition between PPL and TBB on new ideas and new features.)

Scaling is the "new free lunch."

- David Callahan, Microsoft

(David advocated “over-decomposing for scaling” citing it as the new Free Lunch.)

You may not know what to do with parallelism yet.  But imagine what you can do with 128X the performance in a few years.  The answer is "a lot more than with 1/128th that today."  But it takes imagination.

- Joe Duffy, Microsoft

For more complete information about compiler optimizations, see our Optimization Notice.


Dmitry Vyukov's picture

Btw, Intel is much more honest with TBB in this respect ;)
Hmm... maybe they just don't want to open all sources in CTP... to not show everything down 1.5 years prior to final release...

Dmitry Vyukov's picture

I think that Rick Molloy had cheated at question wrt sources of PPL. I think the whole native concurrency platform was meant. Who cares about thin sugar layer (ppl.h, agents.h) above the core (concurrency runtime - msvcr100.dll)? Sources of what I have? Of template wrappers?
Although, I really have to download MSVC10 CTP and check it out... but it seems that one cannot do without disassembler... I hope at least there will be debug symbols :)

aaron-tersteeg (Intel)'s picture

Thanks for sharing. Can't wait to dive into the details of all the information being presented. Keep the tidbits flowing.

Add a Comment

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