Thanks Diva, that would be much appreciated and I think helpful to a great many 
people.

Sent from Mail for Windows 10

From: Diva Canto
Sent: Friday, August 16, 2019 9:53 AM
To: opensim-dev@opensimulator.org
Subject: Re: [Opensim-dev] Packet Pooling - Should it work?

[I meant to send this to the list]
I'll send some info on where to look later today.

-------- Forwarded Message --------
Subject: Re: [Opensim-dev] Packet Pooling - Should it work?
Date: Thu, 15 Aug 2019 17:27:38 -0700
From: Diva Canto <d...@metaverseink.com>
To: Mike Dickson <mike.dick...@utopiaskye.com>

Hi,

You can already remove almost everything out of the simulator with the 
right configurations.

I don't recommend serving the large assets, like textures and mesh, from 
one single server because that one quickly becomes the bottleneck. But 
there are may ways of serving replicating the data.

I ran a large grid that had a completely different arrangement than the 
default: each group of regions that were related (i.e. an "estate") had 
its own set of asset services. Users' assets in inventory were served by 
yet a separate server. All this has been possible for a very long time.

Diva

On 8/15/2019 1:07 PM, Mike Dickson wrote:
> I'm actually not so much trying to optimize network traffic (that is
> another great topic and I personally think what core should focus on is
> protocols rather than code).  I'm concerned there is an issue with garbage
> collection limiting scaling of the simulator.  Basically I'm of the opinion
> that really the only thing that should be running in the simulator is...
> the simulation.  So as much as possible pulling things out (Moving to AISv3
> for inventory out of process, SSB out of process, etc would all be good
> additional steps).  It's true if you're just running a standalone thats
> probably overkill but I'm trying to support large regions and scale.  Hence
> yes the whole stack is really the focus.
> 
> Mike
> 
> On Wed, Aug 14, 2019 at 10:54 PM Mister Blue <misterb...@misterblue.com>
> wrote:
> 
>> There have been many attempts at optimizing the network traffic from the
>> simulator to the clients. GP optimization confuses low level networking
>> (queuing, ..) with application level (object updates before wind updates).
>>
>> Make sure you're thinking of the whole virtual world stack.
>>
>> On Wed, Aug 14, 2019 at 4:07 PM Mike Dickson <mike.dick...@utopiaskye.com>
>> wrote:
>>
>>> So after doing some research I think my fix to this is to get as many of
>>> the big allocations out of the region server as possible and secondarily
>> to
>>> get the rest coming from a pool where I can. I think that translates to
>> the
>>> follow projects:
>>>
>>> 1) Move GetMesh and GetTexture out of process and into a separate server
>>> 2) Get the rest of the UDP allocations coming from a pool.
>>>
>>> For #1 there was code originally done for InWorldz/Halcyon to do that.  I
>>> can try and ressurect it and interface it to the asset service (ideally
>>> through the local asset cache) but I think alternatively a redo makes
>> more
>>> sense.
>>> For #2 there is buffer pooling code in LibOMV originally in Halcyon that
>> I
>>> believe Cinder got upstream via Latif a while back.
>>>
>>> And yes I did run with -desktop mode in Mono for some time. It sort of
>>> bandaids things a bit but when a GC pass does happen UDP stalls until the
>>> GC completes and the protocol recovers (for reliable messages).  If you
>>> extend that to a busy region with 20, 30 or more avatars it falls apart
>>> quickly. Especially with everyone wearing mesh. Still probably better
>> than
>>> the standard GC but the real fix is to stop making garbage to collect.
>>>
>>> Mike
>>>
>>> Sent from Mail for Windows 10
>>>
>>> From: Leal Duarte
>>> Sent: Tuesday, August 13, 2019 1:43 PM
>>> To: opensim-dev@opensimulator.org
>>> Subject: Re: [Opensim-dev] Packet Pooling - Should it work?
>>>
>>> PacketPool.cs code has been in usage, and still is in same packets, but
>> of
>>> limited usefulness
>>> in same cases it could even be GC induced pseudo memory leak.
>>>
>>> It was replaced by a simpler pool of memory buffers (actually libomv
>>> UDPPacketBuffers, but not its objectpool) on most sent packets and
>> receive
>>> buffers
>>> also used as temporary work buffers on a few other places.
>>> Most send packets have nothing to reuse but the buffer.
>>>
>>> Try running opensim in Workstation (desktop on mono) mode.
>>> Server mode heuristics don't seem to match opensim needs that well.
>>>
>>> Ubit
>>>
>>> On 13-Aug-19 16:04, Mike Dickson wrote:
>>>> I've been investigating UDP stalls for a while now and at least in some
>>>> cases I'm fairly convinced some cases occur due to GC pauses.  There is
>>>> some packet pooling code in the underlying LibOMV probably originally
>>>> derived from work done on Halcyon to address this case.   I don't see
>> any
>>>> attempt in the UDP comms to make use of these buffer pools.
>>>>
>>>> There is seperate code in PacketPool.cs to,  I think reuse packet
>> buffers
>>>> based on a couple of buffer sizes and it looks like this should be on
>> by
>>>> default but I can't find any evidence by looking at status of any
>> packet
>>>> reuse occuring.  That is it looks like there is code there but it's
>>> either
>>>> switched off somewhere else or just doesn't work (or the stats are
>> wrong
>>> :).
>>>>
>>>> Should this PacketPooling be functional?  Alternatively has any attempt
>>>> been made to wire in the PacketBuffer support thats already in LibOMV?
>>>>    I'm going to dig through all this as I have time but I figured a
>> little
>>>> information might help short circuit some paths and direct my search.
>>>>
>>>> Thanks!
>>>>
>>>> Mike
>>>> _______________________________________________
>>>> Opensim-dev mailing list
>>>> Opensim-dev@opensimulator.org
>>>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>>>
>>> _______________________________________________
>>> Opensim-dev mailing list
>>> Opensim-dev@opensimulator.org
>>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>>
>>> _______________________________________________
>>> Opensim-dev mailing list
>>> Opensim-dev@opensimulator.org
>>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>>
>> _______________________________________________
>> Opensim-dev mailing list
>> Opensim-dev@opensimulator.org
>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev@opensimulator.org
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
> 
> 

_______________________________________________
Opensim-dev mailing list
Opensim-dev@opensimulator.org
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev

_______________________________________________
Opensim-dev mailing list
Opensim-dev@opensimulator.org
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev

Reply via email to