The dispacter is probably a bottleneck, looking at the paper http://lamp.epfl.ch/~phaller/doc/haller07actorsunify.pdf I can't really tell how it's implemented.
How does the Scala run queue work? eg have a look at the Erlang article I linked to in my first post.
It's basically doing a MxN actor to thread-pool scheduling.