[Opensim-dev] Profiling complex scenes

Justin Clark-Casey jjustincc at googlemail.com
Thu Mar 19 20:41:11 UTC 2009


Lake, Dan wrote:
> Justin,
>    I posted a new version of the SceneGraph dictionaries patch on the ScienceSim wiki. It also includes a new dictionary for managing pending updates to the scene. Previously, this was a linear search to determine if an object needed to be updated, but now it's a dictionary lookup on UUID. With this patch, CPU utilization for 2000 updating objects has been reduced from ~150% to ~5%. It also allowed me to create 5x the qty of scripted updating objects with timers using approximately the original 150% cpu.
> 
> http://sciencesim.com/wiki/doku.php/opensim/performance_profiling#update_mar_19._2009
> 
>    I think that someone more familiar with SceneGraph should take a look at my patch before it's committed. I filed a Mantis entry with the patch.
> 
> http://opensimulator.org/mantis/view.php?id=3312

Hi Dan.  Many thanks for this.  I've left you a comment on the mantis.

> 
> 
> 
> Dan lake
> Network Software Engineer
> Network Technology Lab
> Corporate Technology Group
> 503.712.8318
> dan.lake at intel.com
> 
> -----Original Message-----
> From: opensim-dev-bounces at lists.berlios.de [mailto:opensim-dev-bounces at lists.berlios.de] On Behalf Of Justin Clark-Casey
> Sent: Wednesday, March 18, 2009 1:34 PM
> To: opensim-dev at lists.berlios.de
> Subject: Re: [Opensim-dev] Profiling complex scenes
> 
> Lake, Dan wrote:
>> Justin,
>>   I filed a Mantis entry for the timer_dictionary.patch. 
>>
>> http://opensimulator.org/mantis/view.php?id=3311
>>
> 
> Thanks very much Dan, committed as r8812.
> 
> Regarding the localID SceneGraph dictionary, as you've seen in the comments we've pretty much known that the lack of one 
> is pretty bad and your tests certainly confirm it.
> 
> Even having one in not quite the right place would be better than not having it at all.  Certainly for myself (and most 
> probably for others), the priority of adding the other necessary bits to your initial starter patch in order to resolve 
> this has been considerably bumped up.
> 
>> ~Dan
>>
>> -----Original Message-----
>> From: opensim-dev-bounces at lists.berlios.de [mailto:opensim-dev-bounces at lists.berlios.de] On Behalf Of Justin Clark-Casey
>> Sent: Wednesday, March 18, 2009 8:29 AM
>> To: opensim-dev at lists.berlios.de
>> Subject: Re: [Opensim-dev] Profiling complex scenes
>>
>> Lake, Dan wrote:
>>> I work at Intel for Mic Bowman. He mentioned a while back that we are 
>>> developing some workloads for understanding the scalability bottlenecks 
>>> in OpenSim. I recently created a test which generates 2000 scripted 
>>> objects which rotate and change color at random intervals. The workload 
>>> consumed multiple CPU cores with only a single client viewer connected 
>>> and the frame rate dropped to absolute zero with 10 clients connected. I 
>>> was then able to reduce the CPU utilization by >80% with a few added 
>>> lines of code in SceneGraph.cs and Timer.cs. If you are interested in a 
>>> complete analysis of this workload, please visit the OpenSim profiling 
>>> wiki page at 
>>> http://sciencesim.com/wiki/doku.php/opensim/performance_profiling. I 
>>> will continue to post interesting profiling results from our workloads 
>>> and ideas about scaling OpenSim based on those results. Your comments or 
>>> feedback are appreciated.
>> Nice work, Dan, very useful stuff.
>>
>> Is the scenegraph_dictionary.patch code not already present in EntityManager (albeit possibly unused, I've not looked 
>> closely)?  If not, would it be better incorporated into there and do you plan on extending the patch into a complete 
>> implementation (e.g. localID -> SOP mapping removal as well)?
>>
>> timer_dictionary.patch on the other hand looks like a complete implementation.  Is this a patch that could usefully be 
>> applied in its current state?
>>
>>>                                                                                                                                                                                            
>>>
>>>
>>> *Dan lake*
>>>
>>> Network Software Engineer
>>>
>>> Network Technology Lab
>>>
>>> Corporate Technology Group
>>>
>>> ( 503.712.8318
>>>
>>> * dan.lake at intel.com
>>>
>>>  
>>>
>>>  
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> Opensim-dev mailing list
>>> Opensim-dev at lists.berlios.de
>>> https://lists.berlios.de/mailman/listinfo/opensim-dev
>>
> 
> 


-- 
justincc
Justin Clark-Casey
http://justincc.wordpress.com



More information about the Opensim-dev mailing list