Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.programming.threads > #2090
| From | aminer <aminer@toto.net> |
|---|---|
| Newsgroups | comp.programming.threads, comp.programming |
| Subject | About RWLockX |
| Date | 2014-03-15 19:52 -0700 |
| Organization | albasani.net |
| Message-ID | <lg2p3e$9mq$1@news.albasani.net> (permalink) |
Cross-posted to 2 groups.
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.
Back to comp.programming.threads | Previous | Next — Next in thread | Find similar
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
csiph-web