Microthreading with Mono

by Miguel de Icaza

Jim Pubrick has written an interesting blog entry detailing how they are using Mono on Second Life. Second Life is going to use Mono to run the user-provided scripts with native code (which am told can be up to 150 times faster than the current engine).

SecondLife is using Mono in a non-conventional way, which I like to think is one of the benefits of having an open source engine, they have added a micro-threading implementation.

Microthreading was necessary because some of their simulations are made up of thousand of threads/routines, and using the default threads in Mono (which are mapped to operating system threads) would have been too heavy.

Their micro-threading implementation is different than Tomi's recent continuation work in that Second Life has added support to "migrate" running code across machines.

A presentation from the Second Life folks at Google Tech Talks.

Posted on 07 Jun 2006