Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.programming > #4130 > unrolled thread
| Started by | aminer <aminer@toto.net> |
|---|---|
| First post | 2014-03-15 19:52 -0700 |
| Last post | 2014-03-16 16:38 -0700 |
| Articles | 3 — 1 participant |
Back to article view | Back to comp.programming
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
| From | aminer <aminer@toto.net> |
|---|---|
| Date | 2014-03-15 19:52 -0700 |
| Subject | About 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]
| From | aminer <aminer@toto.net> |
|---|---|
| Date | 2014-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]
| From | aminer <aminer@toto.net> |
|---|---|
| Date | 2014-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