[Opensim-dev] Threads, threads, threads and more threads
Mojito Sorbet
mojitotech at gmail.com
Fri Jul 31 18:41:05 UTC 2009
A side effect of having a lot of queues is that if you add metrics that
look at queue depths over time you can gain a lot of insight into how
the data flows change as a function of number of agents, such as Dan's
observation that output traffic goes up exponentially. (Makes sense -
the server has to tell all the agents about what the other agents are
doing.) This can help tune the number of threads you need per resource
better than making guesses.
A somewhat old-fashioned concern these days, but something that was
worried about when virtual memory was new, was "locality of reference".
Touching fewer pages reduced paging load.
A potentially interesting benefit of keeping agent state out of the
thread stacks and in a single data structure is the relative ease of
migrating responsibility for an agent to a different processor for load
balancing (cloud sims?), or to make region transitions smoother.
Imagine a teleport that does not interrupt the downloading of your
clothes textures, because all the state for that operation moves with
you.
More information about the Opensim-dev
mailing list