Microsoft's manycore strategy

Microsoft's manycore strategy

Summary: The post on Apple's Grand Central multicore support in OS had some commenters claiming that Microsoft had already solved the multicore software problem.

TOPICS: CXO, Microsoft

The post on Apple's Grand Central multicore support in OS had some commenters claiming that Microsoft had already solved the multicore software problem. Far from it.

And Microsoft knows it Microsoft has a multi-pronged campaign to get in front of multicore. They're hiring smart people and spending real money. They will have a response to Grand Central.

Only 2 questions: when and how good? Microsoft's forte is software that enables the moderately talented to produce functional software. Enabling Visual Basic programmers to exploit multicore chips is no mean feat.

Update: The word "multicore" - and the fact that we're successfully using dual-core processors today - has confused some readers. Yes, limited forms of parallelization are built into most OS's and many applications today. But these don't scale well even to quad-core processors, let alone to 8-core and higher, except on some specialized and tuned apps.

The focus of Microsoft Research's multicore effort is figuring out how to effectively use "manycore" processors in single systems as well as aggregating many systems for scale-out performance. Intel will be able to produce 32-core x86 processors in a few years. It sure would be nice to get 32x performance out of them.

The industry should start using the term "manycore" to describe the technology. I changed the title above. End update

Supercomputer guru Why the focus on multicore? As Dan Reed, MR's multicore research leader said recently in his blog:

. . . we are now approaching some fundamental physical limits. The bounds on CMOS junction voltages are near, and the number of atoms on a transistor junction is countable. Parallelism, some new technologies or radical new approaches (quantum computing or biological computing), will be required. All of this is driving the multicore revolution.

MR has an aggressive agenda:

  • $20 million to support 2 Universal Parallel Computing Research Centers
  • Dan Reed's dedicated research group inside Microsoft Research
  • A Safe and Scalable Multicore Computing external research program
  • And more, such as the collaboration with the Barcelona Supercomputing Center

Microsoft Research takes the multicore problem seriously.

The Storage Bits take Despite their obvious commitment to multicore research, Microsoft Research isn't in the product development business. There is no direct link to what we'll see in Windows 7. Time and chance happen to all features.

Reading the tea leaves it appears that Microsoft and Apple have - surprise! - different philosophies in exploiting multicore.

Microsoft - the developers, not the researchers - are focusing on using additional cores to add features to the OS and Office. High quality voice recognition and predictive workflow modeling, both items that will improve the man-machine interface. Spawning additional tasks also simplifies using more cores since the new features can be loosely coupled processes.

Apple - much more dependent on 3rd party developers - is focused on platform support for multicore. Like their successful Core Services strategy Apple will present APIs that enable developers to quickly leverage multicore performance.

The success of each approach remains to be seen. What's important is that we, the users, will see some real competition. That's good for all of us.

Comments welcome, of course. Update 2: Some have taken exception to my characterization of Microsoft's forte above. My point was statistical, not personal.

When you own 90% of the desktop market and a good chunk of the server market the target market for your development tools will be the "average" developer, not the compsci PhD. To stress that I struck out the reference to programmers to put the focus on the tools, not the users. HTH. End update.

Topics: CXO, Microsoft

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • multicoreinfo

    A link is provided to this blog on , the hub for multicore related resources.
  • Moderately talented?

    "...enables the moderately talented to produce functional software. Enabling Visual Basic programmers to exploit multicore chips is no mean feat."

    Say what? I use VB because its easier and faster to develop on. Sure I could go back and build C+ code (and when needed I do) or even assembly, but its dumb to use a hand saw when you have a power saw right there.

    Now if yiu want to talk moderately talented, lets talk about the folks at ZDNet that can't keep web site links working properly...
    • His description was accurate.

      Thats exactly what the current crop of MS development tools do.
      • Its obvious you haven't used Visual Studios much

        if you believe what you wrote.
        • I've used it quite a bit...

          ...which along with observation of the people around me using it led me to write what I did. Its the centerpiece of a suite of tools aimed at aiding mediocre developers.
          • And what does Apple have?

            I'm all ears. Objective-C? I heard they finally added garbage collection to it. So that makes them only 6 years behind C#/ Some deep technology out of Cupertino.
          • I couldn't tell you...

            I have done no Apple development and have always been curious about their development environments.

            How did this jump to Apple anyway?
          • For what it is worth.

            The Objective-C framework, Cocoa has had garbage
            collection since before C# was a gleam in anyone's eye.
            Cocoa carried over the GC of OPENSTEP and predates
   by many many years.

            With Obj-C, they added another GC that is more automatic
            in nature. With the older Ref counting scheme, however, I
            never had issue with leaks and other memory allocation
            issues. The rules were brain dead simple and they just

            Keep working on what you hear though.
          • Any college kid who ever took ...

            a course in compilers knows that REF COUNTING is a lame way for doing garbage collection (** circular references, cough, cough **). A scheme doesn't at least start with "mark & sweep" and in generational style is quite frankly disqualified to be a garbage collector in modern era. Nice try to give Objective-C some (undeserved) credit, tho.
          • GW Basic had garbage collection...

            C# and VB.NET aren't the first languages from Microsoft that are Garbage collected (in the sense that many think that MS is new to this area)... I remember GWBasic from the MS-DOS era.
            Roque Mocan
    • Just because an idiot can use the IDE doesn't mean only idiots do...

      - I agree fully that the latest VS is specifically targeted at people who are at *best* moderately talented developers. Sure one may edit the source directly, and I applaud MS for that, but loading the IDE and doing things "the default way" is a drag-drop-build scenario that requires significantly less actual development knowledge, or even experience.
      - That doesn't mean they're useless, or people that use them are stupid, but the "moderately talented" bit is spot on. Looks like someone does at least have a chip on their shoulder, even if they have no axe to grind (cheshire grin).
      • I would disagree...

        Yes, just about anyone can use a hammer, that doesn't mean that everyone that uses a hammer is limited in skills to use other tools.

        Having "drag and drop" features is a HUGE time saver and I've never known a developer that didn't want to save time. That of course does not mean they don't use other tools to meet specific needs. As I said, there are times when I use C+ simply because it is the best tool for the job.

        Also consider that everyone starts some where. Some of the best developers around got interested in coding because VB (or other forms of basic) made it easy to accomplish their first tasks in coding.
        • VB Developers of the World Unite, You Have Nothing to Lose But Your Next

          Regardless of the merits of your comments, and I don't
          significantly disagree with them, you've gone off on a slight
          that wasn't there. The computational power promised by multi-
          cores is not delivered until the VB programmers have access to
          distributed computing in a manner that befits the advantages
          of the language and the platform. This occurs with the
          introduction of new symbols which allow the programmer to
          direct which portions of the program may be safely paralleled
          and/or a smarter compiler which promotes an efficient runtime
          distribution of computations.

          Ultimately the problem is about minimizing the wait while
          assembling asynchronous partial results. Some of the most
          interesting research into the parallel problem is taking place in
          Europe and is sponsored by Microsoft and many of those folks
          think imperative programming languages have too much
          baggage to deliver much on the problem. They are big on
          Haskell (pure functional) and F# (hybrid imperative/functional,
          but full member of the .net family of native languages). Others
          are working on scala and Sun is working on Fortress to
          functionalize java. A lot of attention is focused on Erlang,
          because that's how some mobile phone folks implemented the
          network is the computer paradigm and added node robustness.
          Apple, on the other hand, has added symbols to help
          developers leverage multi-core architectures and they use the
          imperative language Objective-C. We would note that since gcc
          is the Apple compiler, if they make inroads in the problem via
          the compiler, the free and open source people also benefit. It's
          an interesting time and I say the VB developers should reap the
          • One (Only One?) Clarification

            By saying gcc is Apple's compiler, I was indicating that the
            compiler on OS X is gcc and not that Apple created gcc.
          • Yup, Erlang

            I can picture that being HUGE in the future, especially for robust, distributed cloud based stuff.
      • I'd agree...

        People with good development skills can still use the MS tools. Some however tend to feel the tools end up getting in the way by trying to do things that they already know how to do and would prefer to have more control over.

        But for the most part they allow mediocre developers to drag, drop and click their way to applications. I've talked to folk that were literally scared of starting with a blank slate. They had no clue as to what they were actually building when they dragged and dropped these components or when the IDE built the method templates for them. Advanced OOP knowledge was nonexistent.
      • It's like a manual-shift zealot

        ... bragging about how skillful he is and then gets blown out of water in a real race by those who use semi-automatic paddle shift.

        Trust me even Apple themselves know they have to produce fancy DEV tools like VS. Some iTards here better get their fanboyism in sync w/ Cupertino on this one.
    • No need to take it personally

      It's quite true. You may be much more talented, but VS IS aimed at making things easier, and a lot of drag-n-drop, thus not requiring so much deep knowledge.
      For the talented and non talented, this also speeds development as well.
      I once helped a guy developing a data application that was upset that he had to write ONE line of code to fill a datagrid on an page. It doesn't get much easier then that, but he was still upset and didn't know how to do it.
      • I don't get this debate

        VS is, in principle, not far from a Godsent to typical Windows app developer.

        Do people really want to do the message loops by hand? In the early days of Windows that's what you had to do, but I mean, are we arguing that that's a GOOD thing?
        • Of course not

          The automation is indeed a godsend, which removes a lot of the tedium of writing boilerplate code.
          But how many web or app developers know how to write efficient code and algorithms? Or know the underlying structure of computing, such as TCP/IP, or any other base layer? It is not necessarily needed, but those who know it have an advantage IMO.