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


Groups > comp.programming > #4130 > unrolled thread

About RWLockX

Started byaminer <aminer@toto.net>
First post2014-03-15 19:52 -0700
Last post2014-03-16 16:38 -0700
Articles 3 — 1 participant

Back to article view | Back to comp.programming


Contents

  About RWLockX aminer <aminer@toto.net> - 2014-03-15 19:52 -0700
    Re: About RWLockX aminer <aminer@toto.net> - 2014-03-15 19:55 -0700
    Re: About RWLockX aminer <aminer@toto.net> - 2014-03-16 16:38 -0700

#4130 — About RWLockX

Fromaminer <aminer@toto.net>
Date2014-03-15 19:52 -0700
SubjectAbout RWLockX
Message-ID<lg2p3e$9mq$1@news.albasani.net>
Hello,


We have to be smart please, so follow with me please...

I wrote before:

"I have benchmarked more all the variants of my scalable RWLock 3.04,
and i have noticed that my LW_RWLockX a lightweight version that uses
a lightweight eventcount and that is starvation-free scales better  even 
at 1% to 2% of writes, my RWLockX scales at no more than 0,1% of  writes."

So please look inside my scalable RWLock zip file , inside RWLockX.pas
source code and you will notice that i am using my SemaMonitor on
the writer side, i have said above that my RWLockX scales at no more 
than 0.1% of writes, that's not completly true, this is true only
if you are using multiple writers threads, but if you want it to be 
scalable at more than 0.1% of writes and if you have using a a Quad core 
processor you have to start for example 5 threads one server thread for 
the writers and 4 servers threads for the readers , and dispatch the 
datas in a client server manner for example using FIFO queues to the 
writer threads and to the readers threads, this is how you will make my 
RWLockX scalable at much more than 0.1% of writes. This is possible 
cause since you are using one writer thread as a server of all the 
client writers you will lower more the cache-coherence traffic and you 
will use only the local L2 cache for example etc...

So hope you have understood what i am saying to you cause it's important..

The same idea above can be applied to my scalable LW_RWLockX and
all the other variants of my scalable RWLock inside the zip file

If you want to look at the source code of all the variants of my 
scalable RWLock you have to know the following:


1- My RWLockX is scalable and 100% stavation-free and it uses less CPU 
ressource cause it does not use spin-wait, when you see the "X" at
the end of the name this will tell you that it's 100% starvation-free


2- My LW_RWLockX is a lightweight version that is scalable and it's
100% starvation-free and it uses spin-wait...


3- My RWLock is scalable and it's not starvation-free and it uses less 
CPU ressource cause it does not use spin-wait.


4-My LW_RWLock is a lightweight version that is scalable and
it's not starvation-free and it uses spin-wait..


All the variants of my scalable RWLock are stable now,
and portable to Linux, MacOSX and Windows, so hope you will
take a look at them inside the zipfile.



Thank you,
Amine Moulay Ramdane.



[toc] | [next] | [standalone]


#4131

Fromaminer <aminer@toto.net>
Date2014-03-15 19:55 -0700
Message-ID<lg2pab$9mq$12@news.albasani.net>
In reply to#4130
You can download my scalable RWLock 3.04 from:


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


Thank you,
Amine Moulay Ramadane.

[toc] | [prev] | [next] | [standalone]


#4132

Fromaminer <aminer@toto.net>
Date2014-03-16 16:38 -0700
Message-ID<lg523n$ncr$1@news.albasani.net>
In reply to#4130
Hello,


I have redone the benchmarks with this new idea ,that means that
writers threads have wrote there data into a fast concurrent FIFO queue 
and a writer server thread have processed them serially, and RWLockX 
have improved and it's now scaling at 0.35% of writes, before it was 
scaling at no more than 0.1% of writes.



Thank you,
Amine Moulay Ramdane.





On 3/15/2014 7:52 PM, aminer wrote:
>
> Hello,
>
>
> We have to be smart please, so follow with me please...
>
> I wrote before:
>
> "I have benchmarked more all the variants of my scalable RWLock 3.04,
> and i have noticed that my LW_RWLockX a lightweight version that uses
> a lightweight eventcount and that is starvation-free scales better  even
> at 1% to 2% of writes, my RWLockX scales at no more than 0,1% of  writes."
>
> So please look inside my scalable RWLock zip file , inside RWLockX.pas
> source code and you will notice that i am using my SemaMonitor on
> the writer side, i have said above that my RWLockX scales at no more
> than 0.1% of writes, that's not completly true, this is true only
> if you are using multiple writers threads, but if you want it to be
> scalable at more than 0.1% of writes and if you have using a a Quad core
> processor you have to start for example 5 threads one server thread for
> the writers and 4 servers threads for the readers , and dispatch the
> datas in a client server manner for example using FIFO queues to the
> writer threads and to the readers threads, this is how you will make my
> RWLockX scalable at much more than 0.1% of writes. This is possible
> cause since you are using one writer thread as a server of all the
> client writers you will lower more the cache-coherence traffic and you
> will use only the local L2 cache for example etc...
>
> So hope you have understood what i am saying to you cause it's important..
>
> The same idea above can be applied to my scalable LW_RWLockX and
> all the other variants of my scalable RWLock inside the zip file
>
> If you want to look at the source code of all the variants of my
> scalable RWLock you have to know the following:
>
>
> 1- My RWLockX is scalable and 100% stavation-free and it uses less CPU
> ressource cause it does not use spin-wait, when you see the "X" at
> the end of the name this will tell you that it's 100% starvation-free
>
>
> 2- My LW_RWLockX is a lightweight version that is scalable and it's
> 100% starvation-free and it uses spin-wait...
>
>
> 3- My RWLock is scalable and it's not starvation-free and it uses less
> CPU ressource cause it does not use spin-wait.
>
>
> 4-My LW_RWLock is a lightweight version that is scalable and
> it's not starvation-free and it uses spin-wait..
>
>
> All the variants of my scalable RWLock are stable now,
> and portable to Linux, MacOSX and Windows, so hope you will
> take a look at them inside the zipfile.
>
>
>
> Thank you,
> Amine Moulay Ramdane.
>
>
>
>

[toc] | [prev] | [standalone]


Back to top | Article view | comp.programming


csiph-web