Slashdot Mirror


Auto-threading Compiler Could Restore Moore's Law Gains

New submitter Nemo the Magnificent writes "Develop in the Cloud has news about what might be a breakthrough out of Microsoft Research. A team there wrote a paper (PDF), now accepted for publication at OOPSLA, that describes how to teach a compiler to auto-thread a program that was written single-threaded in a conventional language like C#. This is the holy grail to take advantage of multiple cores — to get Moore's Law improvements back on track, after they essentially ran aground in the last decade. (Functional programming, the other great hope, just isn't happening.) About 2004 was when Intel et al. ran into a wall and started packing multiple cores into chips instead of cranking the clock speed. The Microsoft team modified a C# compiler to use the new technique, and claim a 'large project at Microsoft' have written 'several million lines of code' testing out the resulting 'safe parallelism.'" The paper is a good read if you're into compilers and functional programming. The key to operation is adding permissions to reference types allowing you to declare normal references, read-only references to mutable objects, references to globally immutable objects, and references to isolated clusters of objects. With that information, the compiler is able to prove that chunks of code can safely be run in parallel. Unlike many other approaches, it doesn't require that your program be purely functional either.

10 of 404 comments (clear)

  1. Re:I hate when people misuse Moore's law by Anonymous Coward · · Score: 5, Funny

    No no, you misunderstand. They're teaching the compiler to be so efficient that it actually starts creating new transistors to make itself smarter.

    Make no mistake, this is how the rise of the machines will start.

  2. Re:I hate when people misuse Moore's law by newcastlejon · · Score: 4, Funny

    oodaloop's Law doesn't have quite the same ring to it.

    --
    If God forks the Universe every time you roll a die, he'd better have a damned good memory.
  3. Re:How about by chromas · · Score: 5, Funny

    all the magic compiler is going to do is increase the speed of the System Idle Thread.

    Have you seen how much processing power that thing consumes? Usually 90% and up. On all cores. It really needs some serious optimization.

  4. Re:Not this shit again by c0lo · · Score: 5, Funny

    Apparently the real geeks left Slashdot ages ago.

    Casted to void?

    --
    Questions raise, answers kill. Raise questions to stay alive.
  5. Re:Great potential by Boawk · · Score: 5, Funny

    If two bunnies eat the same carrot...the compiler will take care to run two bunnies eating away at the same carrot sequentially. However if there are 2 bunnies eating the green carrot and another 2 bunnies eating the yellow carrot

    Am I the only one who is totally horny after reading that?

  6. Re:Meh. Not that big a problem. by rk · · Score: 5, Funny

    Maybe it's subtle sarcasm regarding learning threaded programming? People can't identify the right thread in a conversation, but should be expected to write threaded code? :-)

  7. Re:Fast First Post by happymellon · · Score: 5, Funny

    Of those, IBM have around 439,999 project managers.

  8. Re:Great potential by Alex+Belits · · Score: 1, Funny

    Honestly, any programmer worth $120k could make something more efficient just using threads, if they thought about it. This will get you 20% of the efficiency gains without thinking of it.

    THIS IS WHAT WINDOWS PROGRAMMERS ACTUALLY BELIEVE.

    --
    Contrary to the popular belief, there indeed is no God.
  9. Re:Fast First Post by phagstrom · · Score: 3, Funny

    And the last one cleans the office and makes coffee.

  10. Re:Not this shit again by HaZardman27 · · Score: 3, Funny

    In fact, the chips Moore had access to at the time had very little memory on them

    Well of course! That was a lot of 18 monthses ago!

    --
    Apparently wizard is not a legitimate career path, so I chose programmer instead.