[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