Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.programming.threads > #2285
| From | aminer <aminer@toto.net> |
|---|---|
| Newsgroups | comp.programming.threads, comp.programming |
| Subject | Follow with me please... |
| Date | 2014-04-28 00:35 -0700 |
| Organization | albasani.net |
| Message-ID | <ljklps$1bs$1@news.albasani.net> (permalink) |
Cross-posted to 2 groups.
Hello, Follow with me please... I have just explained to you why the following Chriss Thomasson algorithm: https://groups.google.com/d/topic/lock-free/acjQ3-89abE/discussion has scored 33% more throughput on the pop() side than my algorithm.. Here is my algorithm: http://pages.videotron.com/aminer/CQueue2.htm So follow with me please cause we have to be smart to understand the inside of those scalable algorithms... I have just said that since i am using more variables that generate data movements between caches and between the memory subsystem and the caches, those data movements causes a contention on the "Bus" system and the Bus system must serialize those data movements, and more than that since there is contention in this scenario as i have just explained this "factor" that we call "contention" in this scenario is highing the waiting time of the threads and is lowering the throughput,so since i am using 4 variables that generate data mouvements between caches and between the memory system and the caches and since the Chriss Thomasson is using 3 variables, so my algorithm is causing more contention on the Bus than the Chriss Thomasson algorithm and this explaines why there is 33% less throughput on my algorithm than the Chriss Thomasson algorithm, but here is the big news, my two locks algorithm that is a blocking algorithm is scoring the same throughput as the Chriss Thomasson algorithm on the pop() side even though it uses more variables (4 variables) on the pop() side than the Chriss Thomasson algorithm that generate data movements between caches and between the memory system and the local caches, why ? cause the in the two lock algorithm there is less contention on the "Bus" inside the critical section, so the two lock algorithm is more efficient cause it reduces efficiently the contention on the Bus. Thank you, Amine Moulay Ramdane.
Back to comp.programming.threads | Previous | Next — Next in thread | Find similar | Unroll thread
Follow with me please... aminer <aminer@toto.net> - 2014-04-28 00:35 -0700 Re: Follow with me please... aminer <aminer@toto.net> - 2014-04-28 11:35 -0700
csiph-web