So: paper one is The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software, to appear in Dr. Dobb's Journal in March. The first main observation is that based on projections from 2003 we ought to have 10ghz processors by now. Cache size increases aside, SMT and multicore are the directions we're going to go in the future. The hypothesis is that concurrent programming is going to become the next big movement in software development on the scale of OO: just how we've been doing OO since Simula in the 60s and it's only becoming "fundamental" now, we've been doing concurrency for a while but (they predict) it will become a greater and greater focus in the future. The article wraps up with some ideas about what this will mean for the future.
Our resident performance/SMP expert jeffr has some thoughts about it in detail here, and that's probably more worth reading than the two observations I'd like to add:
- Figure 1 actually cites Wikipedia for its data. Since when is it ok to cite Wikipedia?
- I take issue with the idea that OO is fundamental. It certainly won, but the typical advantages cited -- abstraction, modularity -- are consequences of, well, abstraction and modularity, which are available in the ML family of languages and they're hardly OO. But I think I'm splitting hairs.
Paper two is Composable memory transactions, authored by the researcher I mentioned before, but also by Simon Peyton Jones and Maurice Herlihy. Haven't finished it yet. I suck. I ought to be studying more Chinese, not reading about Haskell extensions. (And I haven't finished Herlihy's paper I mentioned before.)