[Opensim-dev] Performance optimization of complex ScienceSim regions

Dr Scofield DrScofield at xyzzyxyzzy.net
Mon Aug 31 12:19:27 UTC 2009


Lake, Dan wrote:
> A few months back, we analyzed and proposed optimizations to scripting and timers on homogeneous regions which were dynamically created with up to 40,000 simple cubes and physics disabled. Considerable reductions in scene creation time and cpu utilization were achieved. 
> 
> The regions running on ScienceSim at this time have few scripts (less than 1% of objects), have large linked sets,  are loaded at startup from a database, and most have ODE physics enabled although very few objects are physical. This represents a completely different workload for OpenSim from our previous analysis. Some of these ScienceSim regions are extremely complex with between 60,000 and 140,000 prims. We have noticed that startup on these regions can take 45 minutes or more and consume 50% of a CPU once they reach a steady state with no users connected. We did not expect that high utilization since script counts were below 200 and no users were connected.
> 
> We have identified 3 areas of optimization.
> 
> 1. On startup, the region must be loaded from the database and all region modules must be started to prepare the region to run. On the largest ScienceSim regions, this step takes 20 minutes before the command prompt appears. We refer to this phase as the startup time. 
> 
> 2. The appearance of the OpenSim command prompt indicates that the Heartbeat thread has started up. Commands can be issued such as "create user" or "show stats", but the Heartbeat thread itself will remain in its first "beat" for up to 40 more minutes. During this time, users cannot connect and the stats are all listed as 0 and do not update. We refer to this phase as "first heartbeat time". 	
> 
> 3. Once the region has completely started up, but before any users have connected, we notice that the CPU utilization seems unusually high for the amount of "action" in the scene. Less than 200 scripted or physical objects should not represent a high load, but the 140,000 static prims somehow consumed 50% of a CPU.
> 
> Analysis
> 
[lots of very good stuff]

wow!

-- 
dr dirk husemann ---- virtual worlds research ---- ibm zurich research lab
SL: dr scofield ---- drscofield at xyzzyxyzzy.net ---- http://xyzzyxyzzy.net/
RL: hud at zurich.ibm.com - +41 44 724 8573 - http://www.zurich.ibm.com/~hud/



More information about the Opensim-dev mailing list