Tuesday, September 05, 2006 2:10 AM bart

The Age of Concurrency - A few interesting Channel 9 vids

Concurrent programming is one of the most difficult things to do (or better: to get right) and will become even more important in the world of multi-core processors. One of the major concerns today is the interruptive nature of concurrency constructs in relation to your business code (think about locks and condition variables, or monitors that are intermingled throughout your program). In other words: we need a more approachable programming model that respects basic requirements such as modularity, reliability, composability, etc.

A possible answer to all of this is Software Transactional Memory (shorthand STM) being researched by MSR Cambridge. An interesting Channel 9 interview with Simon Peyton-Jones and Tim Harris (check out the research papers) can be found over here. They explain how atomic code blocks (with a transactional nature that is) could help to solve this kind of problems. Warning: this is a "going deep" kind-a post and assumes some knowlegde of garbage collection, functional programming (with Haskell), existing concurrency constructs, etc. Check out the STM prototype on Maurice Herlihy's site and start writing things like this:

[Atomic]
public class SomeClass
{
...
}

Another interesting Channel 9 post is a bit older covers the Concurrency and Coordination Runtime (shorthand CCR) library created by George Chrystanthakopoulus. You can find it over here.

Finally I want to add a reference to The Accelerator Project post too (over here). Still have to dive a bit deeper into this, but looks very promising too indeed!

Play time!

Del.icio.us | Digg It | Technorati | Blinklist | Furl | reddit | DotNetKicks

Filed under:

Comments

No Comments