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


Groups > comp.programming.threads > #2078 > unrolled thread

Scalable RWLock version 3.02 is here...

Started byaminer <aminer@toto.net>
First post2014-02-20 18:45 -0800
Last post2014-02-20 19:17 -0800
Articles 2 — 1 participant

Back to article view | Back to comp.programming.threads


Contents

  Scalable RWLock version 3.02 is here... aminer <aminer@toto.net> - 2014-02-20 18:45 -0800
    Re: Scalable RWLock version 3.02 is here... aminer <aminer@toto.net> - 2014-02-20 19:17 -0800

#2078 — Scalable RWLock version 3.02 is here...

Fromaminer <aminer@toto.net>
Date2014-02-20 18:45 -0800
SubjectScalable RWLock version 3.02 is here...
Message-ID<le641n$ips$1@news.albasani.net>
Hello,


Scalable RWLock version 3.02 is here...

I have thought more about my previous LW_RWLockX algorithm, and
this algorithm had a bug in it, so i had to reinvent a new algorithm
that uses my new lightweight EventCount, this new LW_RWLockX algorithm 
is scaling very well, and it's starvation-free and it's portable,
when there is many more writers it will be starvation-free, and this
is good, hope you will take a look at my new algorithm inside the
zip file, i have tested this new algorithm extensivly and i can
tell you that it's stable now.

You will find three variants of my scalable RWLock, one called
LW_RWLock that is not starvation-free but it's scalable and portable and 
another one called LW_RWLockX that is starvation-free and that is 
scalable and portable, there is also another one that is called RWLock 
that uses less CPU ressources but it's not starvation-free and it's
scalable and portable.


A Read/Write Lock is a performance improvement over a standard mutex for 
cases where reads outnumber writes. with a Read/Write Lock multiple 
simultaneous read locks may be held, but write locks are exclusively held.

The exclusive writing lock ensures that race conditions do not occur, 
since if one client is writing to the data no other client may read or 
write. Also, the allowance for multiple simultaneous read locks 
decreases  resource contention since multiple readers can safely use the 
shared data.  This increases performance over a standard mutex for the 
assumed usage pattern of frequent simultaneous reads and infrequent writes.


You can download my new scalable RWLock version 3.02 from:

http://pages.videotron.com/aminer/



Thank you,
Amine Moulay Ramdane.







[toc] | [next] | [standalone]


#2079

Fromaminer <aminer@toto.net>
Date2014-02-20 19:17 -0800
Message-ID<le65u7$lu2$1@news.albasani.net>
In reply to#2078

Hello,


Don't forget to take a look at my new lightweight EventCount
inside the zip file that supports the following methods:


signal_all()
signal()
wait()
setSignal(): like the setEvent() of the windows event object
resetSignal(): like the setEvent() of the windows event object


I have used my new lightweight EventCount inside my scalable RWLock
called LW_RWLockX. I have also used a Ticket spinlock with a 
"propotional backoff" mechanism inside my new LW_RWLockX algorithm to 
reduce more the cache coherence traffic.


You can download my new scalable RWLock version 3.02 from:

http://pages.videotron.com/aminer/



Thank you,
Amine Moulay Ramdane.


















On 2/20/2014 6:45 PM, aminer wrote:
>
> Hello,
>
>
> Scalable RWLock version 3.02 is here...
>
> I have thought more about my previous LW_RWLockX algorithm, and
> this algorithm had a bug in it, so i had to reinvent a new algorithm
> that uses my new lightweight EventCount, this new LW_RWLockX algorithm
> is scaling very well, and it's starvation-free and it's portable,
> when there is many more writers it will be starvation-free, and this
> is good, hope you will take a look at my new algorithm inside the
> zip file, i have tested this new algorithm extensivly and i can
> tell you that it's stable now.
>
> You will find three variants of my scalable RWLock, one called
> LW_RWLock that is not starvation-free but it's scalable and portable and
> another one called LW_RWLockX that is starvation-free and that is
> scalable and portable, there is also another one that is called RWLock
> that uses less CPU ressources but it's not starvation-free and it's
> scalable and portable.
>
>
> A Read/Write Lock is a performance improvement over a standard mutex for
> cases where reads outnumber writes. with a Read/Write Lock multiple
> simultaneous read locks may be held, but write locks are exclusively held.
>
> The exclusive writing lock ensures that race conditions do not occur,
> since if one client is writing to the data no other client may read or
> write. Also, the allowance for multiple simultaneous read locks
> decreases  resource contention since multiple readers can safely use the
> shared data.  This increases performance over a standard mutex for the
> assumed usage pattern of frequent simultaneous reads and infrequent writes.
>
>
> You can download my new scalable RWLock version 3.02 from:
>
> http://pages.videotron.com/aminer/
>
>
>
> Thank you,
> Amine Moulay Ramdane.
>
>
>
>
>
>
>
>

[toc] | [prev] | [standalone]


Back to top | Article view | comp.programming.threads


csiph-web