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


Groups > comp.programming.threads > #2757

More about reader-writer algorithms

From Ramine <ramine@1.1>
Newsgroups comp.programming.threads
Subject More about reader-writer algorithms
Date 2014-12-07 15:49 -0800
Organization A noiseless patient Spider
Message-ID <m62edo$3go$2@dont-email.me> (permalink)

Show all headers | View raw


Hello,


Hello again my dear programmers and hardware engineers...

You have seen me talking about the reader-writer algorithms,
i have played with the Dmitry Vyukov distributed reader-writer mutex,
and i have implemented the SIDT(Store Interrupt Descriptor Table 
Register) that  returns the IDT base to use it as a replacement for the 
windows GetCurrentProcessorNumber() used by the reader-writer 
distributed algorithm, but i have noticed that it SIDT doesn't work 
correctly, cause from time to time it doesn't return any IDT base, so i 
have decided to stay with the windows GetCurrentProcessorNumber() even 
if it is somewhat expensive, so now my question is where my scalable 
distributed sequential lock is used , is there any use cases for my new 
algorithm ? if you are using NUMA architecture this will parallelize the 
data bus to and from the memory and this will be very good  for 
databases , so this will be a good use case for my scalable distibuted 
sequential lock if you want for example to implement an in-memory 
database that is really fast and that is parallelized, but even if you 
don't have NUMA , you can still benefit from my scalable distributed 
sequential lock cause it doesn't use any full memory barrier as PThread 
reader-write lock is doing and as the distributed reader-writer of 
Dmitry Vyukov is doing using an RWLock, so if for example you have took 
a look at my previous post you will notice that on small to medium 
reader sections on read-mostly scenarios my scalable distributed 
sequential lock will have the same speed and throughput as Seqlock, but
it will be much faster on the throughput than the Dmitry Vyukov
distributed reader-writer mutex using an RWLock, and it will be
much much more faster on the throughput than the PThread reader-writer 
mutex, other than that my new algorithm of a scalable distributed 
sequential lock beats Seqlock on some characterists such as it doesn't
starve and it doesn't livelock on scenarios with a greater percentage of 
writers, but Seqlock can livelock or starve. So hope you have
understood the improvement that have brought my new algorithm over 
Seqlock and i think my new algorithm of a scalable distributed 
sequential lock is competitive with RCU on read-mostly scenarios.

Finally my last word will be in the form of advice:

Please make sure you understand my proof of correctness that i have 
presented to you and make sure to undertand very well my previous posts 
cause in this era of multicores systems you must be able to undertand 
Parallel programming and Synchronization algorithms, this is my advice.


You can download my scalable distributed sequential lock version 1.11 from:

https://sites.google.com/site/aminer68/scalable-distributed-sequential-lock


Thank you,
Amine Moulay Ramdane.





Back to comp.programming.threads | Previous | Next | Find similar | Unroll thread


Thread

More about reader-writer algorithms Ramine <ramine@1.1> - 2014-12-07 15:49 -0800

csiph-web