Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.programming > #3769

Re: Scalable RWLock 1.12

From aminer <aminer@toto.net>
Newsgroups comp.programming.threads, comp.programming
Subject Re: Scalable RWLock 1.12
Date 2013-09-23 16:52 -0700
Organization albasani.net
Message-ID <l1q9m9$6ct$1@news.albasani.net> (permalink)
References <l1q5di$tbp$1@news.albasani.net>

Cross-posted to 2 groups.

Show all headers | View raw


Hello,

That's not the end of the story, i have benchmarked the ticket spinlock
that i am using and that you find here:

http://code.google.com/p/gpdelphiunits/source/browse/trunk/src/SpinLock.pas?r=37 


and found that it has a poor performance cause in the case of a spinlock 
without tickets when it is unlocked() the first thread that comes first 
to the lock() will enter immediatly the locked section, but that's not 
the case with a Ticket spinlock cause if the first thread that enter the 
lock() have not the ticket the other threads that have the ticket and 
that are waiting for there turn will wait more , so this is why the 
Ticket spinlock have a poor performance compared to a simple spinlock 
with a backoff.


So i will advice you to avoid the Ticket spinlock.




Thank you,
Amine Moulay Ramdane.



On 9/23/2013 3:39 PM, aminer wrote:
>
> Hello,
>
> SemaCondvar was updated to version 1.11 and Scalable RWLock was updated
> to version 1.12, i have used a Ticket spinlock with and exponentiel
> backoff inside SemaCondvar and SemaMonitor and now the Ticket spinlock
> avoids the starvation problem and it has a decent performance.
>
>
> You can download SemaCondvar and my scalable RWLock from:
>
> http://pages.videotron.com/aminer/
>
>
> Thank you,
> Amine Moulay Ramdane.

Back to comp.programming | Previous | Next — Previous in thread | Find similar | Unroll thread


Thread

Scalable RWLock 1.12 aminer <aminer@toto.net> - 2013-09-23 15:39 -0700
  Re: Scalable RWLock 1.12 aminer <aminer@toto.net> - 2013-09-23 16:52 -0700

csiph-web