I missed this post (it's from early May), but in it, Phil Toland explores the "conventional wisdom" that you need native threads in order to scale. He gets to the Erlang thread model of green, "shared nothing" fairly quickly, and notes that using that approach - with multiple VMs and message passing - is a whole lot simpler.
The thing is, if you write a multi-threaded application in a single memory space, it's up to you to deal with all the state issues. If one of your native threads goes bats, it can hose the whole system. With green threads and multiple VMs, you have something that's a whole lot easier to understand, follow, and debug. Those multi-core systems are getting more common and less expensive - ask yourself whether the developers you have writing code for them are getting any cheaper.
Technorati Tags:
threads, concurrency, scaling