[Opensim-users] Multi-core, multi-threading OpenSim

Mister Blue misterblue at misterblue.com
Fri Aug 20 22:10:39 UTC 2010


I have developed some OpenSimulator stress tests which exercise the maximum
avatars, scripted objects and physical objects. Some results of running
these against version 0.6.9-post-fixes and 0.7.0.1 are
athttp://www.sciencesim.com/wiki/doku.php/vwperf/stress_profile_20100820.

The multi-threaded XEngine script engine is able to utilize all available
processor threads. The single-threaded ODE physics engine performance drops
when a single processor thread is used up. In general, maximum number of
scripts is limited by the server multi-thread performance, maximum number of
physical objects is limited by the server's single-thread performance, and
the maximum number of avatars is limited by the single-thread performance
(physics and agent update calculations in the heartbeat loop).

Have other people created stress and operational tests for OpenSimulator? If
so, I would like to collect them to create a exercise resource for software
and server evaluation.

-- mb

On Fri, Aug 20, 2010 at 2:16 PM, Justin Clark-Casey <
jjustincc at googlemail.com> wrote:

> On 20/08/10 19:22, Gwyneth Llewelyn wrote:
>
>> Hi all,
>>
>> A simple and stupid question. I was trying to look for some information
>> if OpenSim is multi-threaded and able to automatically run on multiple
>> cores, or if due to some limitations of Mono (unknown to me), this is
>> impossible. Google seems quiet on this (or I might just have been unable
>> to trigger the right combination of keywords that provide me with the
>> answer I need).
>>
>
> Hi Gwyn.  In many places, OpenSim is very multithreaded - each client on
> the sim gets its own thread, for instance, and many client operations are
> executed with threads from the threadpool.
>
> However, there are some single-thread bottlenecks.  The scene updating
> thread is one, which might be why you don't see activity consistently on all
> cores.  Changing the number of virtual cores or other configuration
> parameters won't affect this - it's a software issue.
>
>
>
>> If so, it would make more sense to launch multiple separate Mono
>> instances, each running a set of regions, instead of having just one
>> instance with all the regions in that server?
>>
>
> I should think that it's always going to be more efficient to run
> everything within one Mono instance in order to avoid the overhead of
> multiple runtimes.
>
>
>
>> What would you recommend as a more reasonable configuration? I usually
>> have Linux installations with 4 virtual cores, and from visual
>> observation, only two (sometimes even just one!) is being used all the
>> time by OpenSim and Robust. Does Mono somehow pre-bind to a single core
>> and never changes? (In that case, launching multiple OpenSim instances
>> would all get pre-bound on a single core, thus not really making any
>> difference?) For a server that is exclusively used for OpenSim, it seems
>> a waste to let all those cores run idle...
>>
>> Thanks for any input on this :)
>>
>> Cheers,
>>
>> - Gwyn
>> --
>> "I'm not building a game. I'm building a new country."
>> -- Philip "Linden" Rosedale, interview to Wired, 2004-05-08
>>
>>
>> _______________________________________________
>> Opensim-users mailing list
>> Opensim-users at lists.berlios.de
>> https://lists.berlios.de/mailman/listinfo/opensim-users
>>
>>
>
> --
> Justin Clark-Casey (justincc)
> http://justincc.org
> http://twitter.com/justincc
> _______________________________________________
> Opensim-users mailing list
> Opensim-users at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-users/attachments/20100820/5dffc709/attachment.html>


More information about the Opensim-users mailing list