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. _______________________________________________ Opensim-dev mailing list [email protected] https://lists.berlios.de/mailman/listinfo/opensim-dev
