Make Parallel APIs Seamless and Almost Invisible

Microsoft Canada’s Adam Gallant gave an excellent presentation today on ‘What’s New with Visual Studio Team System and MSDN’. Among Adam’s demonstrations were the new APIs to support so-called manycore architectures. Most of us are still writing code as if we only have one processor when it fact newer machines are likely to have four of them.

The .NET Parallel Extensions supported in VS 2010 lead us into adopting these new technologies, which is fine. However, some of us at the session were wondering why this couldn’t be seamless to the developer and end user. Why not just detect if the machine has more that one processor, and if so, distribute the computational tasks automatically to the available resources?

Apps don’t generally decide how much memory they’ll use – that’s left up to the system to allocate as much as is appropriate, usually a lot.

The same should apply to parallelism commands: If the Parallel Extensions are referenced, give the running code all the power you’ve got - unless instructed otherwise. It should be seamless and almost invisible.

To borrow a joke from Jerry Seinfeld,

"Give my app the maximum allowable computing power."

"Figure out what will make it run too fast and then back it off a little bit."

Ken

1 Comment

Comments have been disabled for this content.