[Opensim-dev] Lockless Lists?

Frisby, Adam adam at deepthink.com.au
Mon Nov 24 15:34:34 UTC 2008


I've managed to get the majority of my goals solved here without removing the locks - but by making a new EntityManager to deal with those locks.

Code has been checked in tonight as it doesn't look like it should cause any new issues. May improve performance during login/logout - but ScenePresences (which I haven't touched yet) is probably the real culprit there.

Adam

From: opensim-dev-bounces at lists.berlios.de [mailto:opensim-dev-bounces at lists.berlios.de] On Behalf Of Lc
Sent: Monday, 24 November 2008 2:39 AM
To: opensim-dev at lists.berlios.de
Subject: Re: [Opensim-dev] Lockless Lists?

fine but could we tag a "stable" release before ?
SM

On Mon, Nov 24, 2008 at 11:23 AM, Frisby, Adam <adam at deepthink.com.au<mailto:adam at deepthink.com.au>> wrote:

I've recently discovered (and perhaps I should have known this earlier) it's possible to create a reasonably high performance lock-free list/dictionary/stack/queue structure under C#.



Julian Bucknall has posted the sourcecode to a bunch of these here: http://www.boyet.com/articles/lockfreestack.html



One of the big performance issues with OpenSim is our overreliance on locking data structures, which can cause issues when those locks don't release in a timely manner. If we switched to lockless structures - we could effectively eliminate those issues. (and probably create new ones.)



Does anyone have any opposition if we try to replace some of the core structures with lock-free versions, and then removing the locks on them? I'm thinking Scene.Entities, Scene.Presences would be two good targets for the first lot, then maybe we can attack some deeper bits later.



Adam

_______________________________________________
Opensim-dev mailing list
Opensim-dev at lists.berlios.de<mailto:Opensim-dev at lists.berlios.de>
https://lists.berlios.de/mailman/listinfo/opensim-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20081124/957050f9/attachment-0001.html>


More information about the Opensim-dev mailing list