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



Dan lake
Network Software Engineer
Network Technology Lab
Corporate Technology Group
503.712.8318
[email protected]

-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Justin Clark-Casey
Sent: Wednesday, March 18, 2009 1:34 PM
To: [email protected]
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: [email protected] 
> [mailto:[email protected]] On Behalf Of Justin Clark-Casey
> Sent: Wednesday, March 18, 2009 8:29 AM
> To: [email protected]
> 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
>>
>> * [email protected]
>>
>>  
>>
>>  
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Opensim-dev mailing list
>> [email protected]
>> https://lists.berlios.de/mailman/listinfo/opensim-dev
> 
> 


-- 
justincc
Justin Clark-Casey
http://justincc.wordpress.com
_______________________________________________
Opensim-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-dev
_______________________________________________
Opensim-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-dev

Reply via email to