Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Scalable RWLock 1.12

1 view
Skip to first unread message

aminer

unread,
Sep 23, 2013, 6:39:22 PM9/23/13
to

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.

aminer

unread,
Sep 23, 2013, 7:52:16 PM9/23/13
to

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.



0 new messages