Auto-threading Compiler Could Restore Moore's Law Gains 404
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.
Re:I hate when people misuse Moore's law (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.
Re:I hate when people misuse Moore's law (Score:5, Funny)
Re:How about (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.
Re:Not this shit again (Score:5, Funny)
Apparently the real geeks left Slashdot ages ago.
Casted to void?
Re:Great potential (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?
Re:Meh. Not that big a problem. (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? :-)
Re:Fast First Post (Score:5, Funny)
Of those, IBM have around 439,999 project managers.
Re:Great potential (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.
Re:Fast First Post (Score:3, Funny)
And the last one cleans the office and makes coffee.
Re:Not this shit again (Score:4, 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!