Welcome to MSDN Blogs Sign in | Join | Help

Beta 1 has been available for a few weeks now, and I’ve been seeing a lot of encouraging customer pick-up and feedback.  If you haven’t had the opportunity to try it yet, I encourage you to head over to MSDN and download a copy.  Once you grab a copy, the VS Beta 1 or Parallel Computing forums are great places to ask questions.  You can also use the Connect site to submit bugs or other feedback directly to the product team.

If you’re looking for a few tips & tricks, I’ve gathered pointers to a few resources that might be of interest to you.  Let me start with some team members:

  • Daniel Moth is the Program Manager responsible for the parallel debugging features, and his blog is always informative and sometimes even entertaining.  :)
  • Hazim Shafi is the architect of the parallel performance analysis features and truly the horse’s mouth when it comes to that entire feature set.
  • The native concurrency team blog is chock full of pithy code snippets and discussion of the finer points of PPL and asynchronous agents.
  • Not to be outdone, the managed code concurrency team blog has been posting regularly on the details of TPL and PLINQ.
  • Feng Yuan is a principal developer on the parallel debugging features, and I’m glad to see he’s recently dusted off his blog!
  • Not strictly VS2010-related, but to get the scoop on one of the hottest incubation projects on the team, check out the Axum team’s blog.

Stretching out beyond our humble team here in Microsoft building 112, here are a few reviews and reactions from the community that might be of interest:

Have you checked out VS 2010’s parallel computing features yet? If so, I’d love to hear what you think.

I’m a regular Slashdot reader.  Yes, yes, people from Microsoft do read Slashdot; it keeps us grounded to know what is on the minds of the ABM crowd.  Slashdot is often an insightful leading indicator of information technology thought and opinion.  However, every once in a while I come across a Slashdot article that I find remarkable either for it’s hater-ness or it’s naïveté.  This posting, asking whether Nice Engineers Finish Last In Tough Times, is an example of the latter.  Whether it’s sloppiness or sensationalism that allows articles like this to slip through the editorial sieve to the home page, I don’t know.  But this particular article got my goat for a number of reasons.  The first couple of reasons are pretty obvious:

  • The author obviously has pretty strong opinions about the two managers.  Is this really a case of Jim vs. Dwight battling to keep their jobs on The Office, or is there a more subtle reality being masked by the author’s opinions of the people involved?
  • I’m not a professional statistician, but I feel pretty secure in asserting that a sample size of one doesn’t meet the bar for statistical relevancy.  Does this guy’s experience with one instance of office politics really portend some sort of “nice guys finish last” trend in worldwide IT?

But here’s the thing that bugs me most about this article:

  • The article lacked any relevant data that a second-level manager would actually use to determine who kept their job.  For example, which of these two people is more effective at their job, has the most relevant experience, or judged more capable of managing the combined organization would all be important pieces of information for such a decision.  We’ve all worked with really nice people that just weren’t very good at their jobs as well as people we didn’t like that we begrudgingly admitted were effective at their jobs. 

Of course, we would all prefer to work with people that were both great at what they do as well as total sweethearts, but reality is rarely as simple as the “new trend: bad guys kick sand in face of good guys” caricature painted by this article.

The video of the keynote presentation for Technical Summit 2008 in Berlin has gone live.  Unless you're fluent in German, you'll want to skip to about 14:55 into the video for my English bit.  :)

I returned last week from a two-week road trip in Europe that involved stops in Barcelona for TechEd Developers EMEA 2008 and Berlin for Technical Summit 2008.

At TechEd I gave two technical breakout sessions, one entitled "Bringing Out the Best in Multi-core Systems," where I highlighted performance engineering and analysis on multi-core hardware (featuring our Visual Studio 2010 technology, naturally) and the other called, "Parallel Programming for C++ Developers in the Next Version of VS," where I focused on Parallel Pattern Library (PPL) and the other upcoming parallel goodies for C++ developers in Visual Studio 2010.  There is nothing quite like presenting pre-beta developer tools to keep you at the top of your presentation-giving game.  In my case, it's possible that I may or may not have had to tap dance a little when my machine blue screened in the middle of a demo...

What can I say? If it worked right we'd already be shipping it... and luckily there is still a good deal of runway left before we ship it.  :)

My colleagues Daniel Moth and Joe Duffy also delivered presentations on parallel computing technologies.  In Daniel's case, he did an overview of our parallel technologies for .NET developers, while Joe delivered a deep dive on the Concurrency Runtime.  The video of Daniel's talk is available to the public on the TechEd website, but you can only get to Joe's and my talk if you are a registered attendee.

If you're jonesing for video, I did managed to do an interview with the good folks at the Intel Software Network, which you can watch here:

I also did a podcast with those wild and crazy NxtGenUG guys out of the UK (I start about 5:59 into the podcast).  To make it clear how I rate with the NxGenUG folks, you'll note that the claim-to-fame by which I am introduced is as "Daniel Moth's boss." :)

After a long weekend off with my wife, Helen, in Madrid, I shuffled off to Berlin for TechSummit.  At TechSummit I delivered the keynote presentation as well as a slightly abridged repeat of my "Bringing Out the Best in Multi-core Systems" session from TechEd.

Luckily, no blue screens were seen during the course of these presentations.

In addition to my presentations, I also made time for a briefing with the German IT press and also video interviews with Channel8 and Channel9.  Channel8 is geared toward the student community, so in this interview I kind of talk about what I do for a living and riff a bit on interning at Microsoft.  In that Channel9 interview I drill into the capabilities of the profiling technology that we are building for Visual Studio 2010.  A portion of this video is a shot of my laptop screen, so you'll be able to follow it best if you view the video in full screen mode.

If you can read German or are handy with a web translator, you can check out the blog buzz on Technical Summit here.

Finally, I should also mention that the Parallel Computing Platform team delivered a number of great session as PDC this year.  If you haven't had a chance to see the videos yet, you can find them here (filter on "Parallelism").

I've been getting periodic reports back from the team this week on how things are going at PDC.  Customers seem to be very jazzed about parallel computing, our sessions have been enthusiastically received, and my team's debugger and profiler work seems especially popular.  The team also tells me that those customers interested in parallel computing are particularly intelligent and attractive people.  Okay, I made up that last bit; even the homely and dull-witted are interesting in parallel computing.  Okay, I should really stop now.  Anyhow, if you're like me and didn't have the opportunity to attend PDC in person this year, there are still a few more opportunities this month to meet the team and see first hand what we're doing for Visual Studio 2010:

I'll be speaking at the two European events, so feel free to get in touch if you'd like to chat in person.

Sean Nordberg, Daniel Moth, and I sat down with Charles earlier this week to talk about tooling for building parallel apps and show of some of the things we're working on for Visual Studio.  If you'd like to learn more, we'll be presenting at both PDC and TechEd Europe over the next month, and we'd love to see you there! At PDC, in addition to regular sessions, we are also hosting a pre-conference tutorial and a post-conference symposium, so -- as the advertisement goes -- if you're only going to one conference this year... make it PDC. :)

InformIT just posed a new video (part 1, part 2, part 3) in their OnMicrosoft series in which Steve Toub and I chat with Ted Neward about parallel computing.  I just watched some of it, and I was pleased to observe that Steve and I don't look like total dorks.  Aside from them repeatedly misspelling my name during the video, I hope you'll find it interesting and informative if not dramatic and gripping.  :)

I had an opportunity to chat with Carl and Richard of .NET Rocks! fame recently about the future of parallel computing on the client and some of the near-term technologies we're building on the Parallel Computing Platform team.  Listen in and let me know what you think.

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.

The indefatigable EricMitt has posted the videos from our presentation in Paris (you'll be treated with presentations in English if you can make your way through a little bit of French UI).

Having been on the job for a few months now, I feel like the team and I are finally beginning to settle in.  It's been a period of significant flux for the Parallel Developer Tools team that included a new leader and (largely) new team trying to adjust to one another, building a plan for the next release of Visual Studio, recruiting and hiring top talent for the team, physically moving to a new building on a different part of campus (and separate from most of the rest of VS), building and strengthening partnerships with teams internal and external Microsoft to drive the Parallel Computing Initiative forward, and, and, and...

I came across this InfoWorld article today regarding developer skills and parallel computing.  I was amused the fact that the issues raised by Dan Reed in the article echoed a conversation I had with Dan just yesterday when I met him for the first time in his office (which happens to be just across the street from mine).  It's a fact that developers largely really are not (yet) trained for parallel computing.  What's more, those that are trained typically have their experience base in high performance computing (think massive amounts of data being crunched on clusters), which is a slightly different problem than that we're trying to deal with on the PCP team.  Our focus in more squarely on leveraging the increasing parallel-capable hardware of a single node, typically a client PC running Windows, and dealing with the complexities of shared memory, making existing software more parallel-scalable, and how we'll design next-generation, inherently parallel software, and -- of course -- how to make parallelism second nature to current and future developers.

By the way, I should mention that I'm looking for the industry's best developers, testers, and program managers to assist us in this effort.  Here are some of the current job openings on my team:

Software Development Engineer

Lead Software Development Engineer

Software Development Engineer

Group Program Manager

Software Development Engineer in Test

Software Development Engineer in Test

No, not that PCP.  The PCP to which I refer is the Parallel Computing Platform, a fairly new organization within Developer Division that is working to unlock new experiences for PC users by making it much, much easier for developers to build applications that leverage the opportunities for parallelism afforded by new multi-core CPUs.  Read more on the coming shift to parallel computing and what it means for developers in this Microsoft white paper and Herb Sutter's The Free Lunch is Over article from Dr. Dobb's Journal.

Yes, this means I've moved on from the Visual C++ team.  In my new role I'll be serving as Product Unit Manager for the Parallel Developer Tools team within the PCP organization.  My team is focused on the tooling developers need to build highly parallel software, such as debuggers, profilers, analysis, and designers.

So how can you be on PCP? You can start by visiting our Parallel Computing MSDN dev center.  If you're really ambitious, you can start playing with our Parallel Extensions to .NET 3.5 CTP.  Of course, there's more where that came from, and in the coming months you can expect to see things like parallel development libraries and tools for both native and managed code developers.

I'm late in getting this blog entry out, but I wanted to do a quick recap of the Visual C++ team's trip to TechEd and follow-on trip to Munich.  As I mentioned previously, my talk on debugging in VC++ 2008 went well, and my audience was an unusually attractive bunch.  Ale Contenti and Kate Gregory also did VC++ talks, and in the final tally the VC++ talks scored very well based on both attendance and attendee survey results.  Count on more VC++ talks at future TechEds!

Kate and Ale also did a great chalk talk on TR1 and C++0x, the upcoming C++ standard.

Ale deemed TR1 to be "super cool" (which sounds better when you say it with an Italian accent), which is plenty enough an endorsement for me.

We also enjoyed our traditional dinner out with C++ MVPs and the VC++ folks.  We ate at Cal Pinxo on the harbor, which was fantastic, as evidenced by the happy faces you see here:

Truth be told, this wasn't an exclusive VC++ staff/C++ MVP event.  In the photo you will notice some sketchy looking MS France guys on the right and some friendly but distinctly non-C++ MVPs from Italy.  They all looked hungry, though, so we invited them along.  :)

Before leaving Barcelona we also took the opportunity to sit down with our friend Charles Torre for a Channel9 video on VC++ 2008 and beyond.

Munich

After TechEd, Ale and I jetted off to Munich for an action-packed few days of presentations, customer visits, and press interviews.  The MS Germany team that arranged our visit, including Dariusz Parys, Christian Binder, and Barbara Steiger, were awesome and definitely kept us busy!

Imagine, also, if you will the small matter of temperature shock upon leaving balmy Barcelona for this place:

Dariusz and Christian were also kind enough to record a couple of Ale's sessions, which you can find here and here.

All in all a great trip, but very tiring.  Not to mention expensive for a poor soul like me that earns his income in dollars.  :)

How big is TechEd? So big that they had to add additional capacity to the conference center here in Barcelona in the form of two vast portable session halls, lovingly referred to as "Tent1" and "Tent2." Yours truly was lucky enough to give his session on Debugging and Crash Dump Analysis in VC++ 2008 in Tent2 today.  I must say, it's the first time I've ever performed under the Big Top, but I hope it's not the last.  The circus life is for me!

I had the audience pose for a picture prior to starting my session.  Check it out:

Nice group, eh? I might add that this was clearly the most intelligent and downright attractive crowd at the conference.

There are tons of hidden gems in the debugger, so I tried to avoid the obvious stuff and focus on some of the power features as well as offer a discussion on how to avoid having bugs in the first place.  I had a good time, and I hope the audience did as well.  I do know at least one member of the audience found it useful; now, I don't read Italian, and I'm never one to toot my own horn, but I'm pretty pleased with Raffaele's assessment of "Magnifica la sessione." :)

Hey, long time, no blog.  I'm in TechEd this week along with Ale Contenti for TechEd EMEA.  Luckily, my trip was pretty much uneventful (if you don't count the up-close-and-personal wanding I received at SeaTac airport), and I even have my luggage, unlike last year.  If you're going to be at TechEd and want to chat, please drop me an email -- I'd love to meet up.  I'm speaking on Wednesday, and I'll try to be at the Visual Studio booth as much as possible otherwise.

Next week, we'll be in Munich for a series of Visual C++ customer meetings and events.  We'll be hosting an open public VC++ event on Thursday, November 15th at 6:00 PM.  See Dariusz Parys' blog for details -- I expect to see all you Bavarian C++ developers there!  :)

Interesting blog entry from my old friend and colleague Steve Trefethen on Microsoft APIs.  Steve brings up a lot of good points, and I particularly agree that the API landscape is way more fragmented and confusing than it should be, and we at Microsoft need to fix that.  However, I also come in on the opposite side of several issues Steve raises, so I thought it would be worthwhile to call out a few specific points.

It seems Redmond has one-upped Google by putting out alpha software and beta software with "Go Live" licenses. How long will it be before we see alpha software with a "Go Live" license? Are we to believe businesses today are betting their future on all of this pre-release code?

While I agree the proliferations of alphas, betas, CTPs, etc. can be confusing, I actually don't feel this is a bad thing.  Years ago, Microsoft (and the industry as a whole, for that matter) was much more secretive about project under development. These days, customers overwhelmingly prefer transparency, even knowing that transparency means working with software that has a few warts and is subject to change in shape and behavior.  The comparison with Google is also interesting because Google customers have clearly been very happy to use services that Google has deemed beta quality (Gmail, Maps, Toolbar, etc.).   Given the way folks are voting with their feet in favor of these things, a reasonable person could conclude that customers often find value in software even if it's not considered "RTM quality."

Is [an MSDN statement comparing WPF to GDI] implying that the new Office 11 Ribbon UI is "constrained? Ah, but it's  not .NET so it must be constrained. And what about Vista's fancy new albeit unmanaged UI surely that must be constrained right?

Nobody ever said that all things .NET were constrained.  The referenced quote was making a point that it's a great deal of work to build WPF-quality user interfaces with straight Win32 because Win32's GDI is old and crufty.  Of course you can build the Office ribbon and cool looking Vista apps in straight Win32, but the point is that it requires more effort than some of the alternatives.

Btw, where is Microsoft's developer support for the new Vista UI? That's not due to arrive until Orcas ships. Didn't the MFC guys know when Vista was going to ship? Or was it that it just didn't matter until recently?

Our bad.  While Developer Division was successful in launching .NET 3.0 technologies (e.g., WPF and WCP) with Vista, we did not deliver comprehensive tooling that enables developers to easily take advantage of the breadth of the platform.  Yes, the MFC guys (i.e., my team) knew Vista was coming.  We were just not agile enough to release such a product before Orcas.  However, making mistakes is also a great way to learn, and you can bet that future tools releases will have better schedule alignment with major platform releases.

It's almost as though the Microsoft factory is stuck on hyperdrive. They're competing with Linux, Apache, PHP, Flash, Eclipse, Java, Oracle/MySQL/DB2/etc, Google, Mozilla, Open Office, MySpace, Yahoo and over the past 12 months have released betas in nearly all of these areas.

I wouldn't say that we're in "hyperdrive." This is who we are.  We're the world's largest software company, we have broad product and business portfolios, and we're going to be very competitive in all of the markets we serve.  However, I do think it's fair to say that because of this broad scope, Microsoft is less technologically homogenized than in past years, which can mean a lot of different platforms with a lot of different APIs which can result in a lot of confusion.

Staying with Microsoft tools will undoubtedly mean moving to .NET...

No way, Jose! In fact, the Visual C++ team's primary focus is on the native Windows platform.  We have some very aggressive post-Orcas plans for advancing the state of the art of native development.  Our secondary focus, btw, is on native-managed interop, with the goal of enabling ISV-style applications to have their cake and eat it too by getting full value from their native code while still incorporating and benefiting from .NET technologies (or bringing together the Raymond Chen camp and the MSDN Magazine camp, to use Joel Spolsky's taxonomy).

I might also add that Olivier Giroux over at NVidia (who takes a wait-and-see approach to all of this new technology) intimates why native C++ code will always be important:

...I have to write cross-platform software by day...

In fact, many of our best C++ customers use C++ because it enables them to target almost any platform, whether it's consumer software on the Mac or server software on Linux or avionics software running in a jet fighter.  These customers require the portability and/or the runtime control offered by C/C++, but we do need to make sure they also have a development-time experience comparable to that of the managed code developer.

Does anyone know what will really happen to WinForms with WPF being touted as the new UI for Windows? Will there be an Interop WPF toolkit available to move your WinForms apps one form at a time to XAML/WPF?

I have a couple of thoughts on this: first, WPF does not currently have the features and capabilities necessary to supplant WinForms as the framework of choice for line of business style applications.  I know we've tried to message this appropriately, but I agree that it sometimes gets lost in the WPF enthusiasm.  Projecting down the road, I would ask: what are your expectations? If, some day in the future, WPF does overtake WinForms in terms of LOB capabilities, my expectation would be that we would continue to support WinForms for existing customers but recommend WPF for new code.  Or am I talking crazy talk here? Meanwhile, we do intend to support mixed WPF-WinForms apps in the Orcas release.  A WinForms to XAML converter is something I know people have talked about internally, but I expect customer demand would dictate what we do here.

The sad thing is that I'm actually interested in several of these technologies but the field is increasingly looking like the slide from Stephen Colbert's The New AT&T (see about 50 seconds into the video). I've been trying to keep up though it seems a lost cause with each passing day I'm falling further behind.

First, props for the pointer to Colbert's hilarious AT&T video! More seriously, my view on this is that the day has long passed where it is practical to keep up with every developer technology coming out of Microsoft.  Ten years ago, it was totally doable and expected that any "real" developer was totally on top of all of the new stuff coming out of Microsoft.  Today, software developers are more specialized.  A developer may focus on web applications or ISV-style native apps or LOB apps or mobile or SOAs or some industry vertical or some other spoonful of alphabet soup.  Or maybe even one or two of these.  After all, most of us have day jobs and the world of Microsoft platforms is so big that simply understanding it all to any reasonable level of depth would be a full time job in itself.

That said, I'm not going to hand-wave away the fact that there are areas where would do have overlap or should better aligned or must be better at messaging when and where to use what technology.  And we also need to better align platform and tools releases.  All of these things are true. But I don't believe it should be a fundamental goal to homogenize our platforms and APIs before letting anything out the door.

More Posts Next page »
 
Page view tracker