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 white 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. Read more of this story at Slashdot.