A little preamble: this blog entry may win some sort of infamy award for sitting in my Live Writer drafts folder since late June. Dang, time sure does fly. Anyhow, the irony of sitting on a blog entry for for three months doesn't escape me, but what the hell... I'm posting it anyway.
I was on the road with my colleague, Keith Yedlin, last month for the International Supercomputing Conference in Dresden followed by Parallel Computing Initiative presentations in Paris. Keith manages the sibling product unit to mine, developing the platform and programming model components for Parallel Computing, such as the Parallel Extensions to the .NET Framework, while I manage the Visual Studio tooling that complements new and existing parallel programming models.
At ISC08 we continued to commune with the Supercomputer community and with members of the Microsoft field and product teams focused on Windows HPC Server. There is an interesting continuum in parallel computing... my team occupies mostly the middle portion of that continuum with multi/many-core computing experiences on the client, the high end of the continuum is occupied by HPC/cluster computing, and at the low-power end you'll find handheld devices with multi-core CPUs and systems-on-a-chip. ISC gave us an opportunity to explore the overlapping chunk of the client and cluster ven diagrams and how we can create experiences for developers and users that scale easily between the two. One of the more interesting things I took away from my conversations with customers and industry folks was that the need for sane and lovable programming models exists both on a multi-core client and on individual nodes of a cluster (which are now also multi-core and must deal with shared-memory parallelism on the node).
From Dresden, Keith and I stopped briefly in Paris to deliver presentations on the Parallel Computing Initiative and Parallel Computing Platform technologies to internal-to-Microsoft as well as external audiences. Upon arriving to Paris, and not being sleepy after being on the go all day, we elected to go for a walk and maybe grab a drink. We found ourselves in the park area behind the Eiffel Tower, and, man, it was PACKED! "Cool," we said to ourselves. "Must be a concert going on or something." As we wade through the wall-to-wall young people, we see little fireworks shoot into the air and then observe crowds of folks running away from the arcing fireworks. Except these are pretty meager fireworks; they don't really go bang and they seem to get unnecessarily smokey when they land. As the crowd of fireworks-runners go past, we observe what they're running from: police in riot gear marching forward. And as our eyes and noses begin to sting we realize that what we thought were little fireworks being launched by happy-go-lucky folks in the park are actually tear gas canisters being launched by the stern looking cops in decked out in riot gear. We had stumbled into the middle of a quaint little gathering of students celebrating completion of end-of-year exams just as the local authorities decided it was time for them to go home.
So, yeah... never been tear gassed before, so that was cool.
Anyhow, we managed to find our way back to the hotel without being swept up in the dragnet. Presentations the next day went really well, with lots of excitement about the parallel computing experience we're creating for developers from both the local Microsofties and the external organizations and press that stopped by. Our presentation even earned us some ink in the French press (multi-coeur, how cool is that?) -- ink with a hint of sarcasm in this case, but I totally get that the proof what we're doing will be in the pudding, and it's crucial that we deliver on the promise for making the construction of parallel software dramatically simpler.