

Safe Parallelism - compiler based research[pdf] - soperj
http://research.microsoft.com/pubs/170528/msr-tr-2012-79.pdf

======
ryanmolden
This is definitely interesting (though the formal language talk in the
beginning is mostly over my head). On one hand it makes a lot of sense to have
the compilers being doing the transforms to achieve safe parralellism, as
opposed to what we have now days with devs in charge, which is mostly "we
think we found all the threading bugs" parrallelism. On the other hand large
swathes of a lot of apps are likely fairly sequential in nature. Obviously
things like disk and network I/O or massive vector processing can and should
be moved of the primary thread, on the other hand I wonder if most apps would
just end up with a huge chain of tasks all still, more or less, serial in
nature. And then you get the joy of debugging that. Because even if the bugs
aren't of a thread safety variety they will still be there, and now you have
50 things happening in parallel that you have to ignore (assuming the compiler
produced threading itself has no bugs, it's turtles all the way down!)

