Subj : Re: Hazard Pointers w/o memory barrier. To : comp.programming.threads From : Chris Thomasson Date : Mon May 02 2005 08:07 pm > Finally getting around to modifying my current RCU > implementation to see how fast this will run. Just > taking the memory barriers out gave a 3x improvement > in read access throughput. At that rate that can be > considered as effectively zero overhead. Yes it can. I have already been experimenting with it for a couple of days and am extremely pleased with the initial results. The thing that makes me a bit uneasy with my windows ( and some other os's ) implementation is the dependence on undocumented functions. All of my code that uses this form of garbage collection could suddenly stop working when the next service pack gets installed... ;) > About a 3x > slowdown in write access but that's because I don't > have the SMR logic in yet plus I have to stay with a > slightly crippled version of RCU to avoid imperial > entanglement. We aren't the programmers there looking for... ;) Seriously though, this is why I don't provide the public with my user-space rcu ( URCU ) implementation. Did you inform McKenney that you were posting your algorithm? I am not sure if I need to ask permission... > Adding the SMR logic should give me a > dramatic improvement in write throughput. Yeah. Original SMR is well suited for high write throughput because of the guarantees it puts on the way nodes are deleted. This new URCU_SMR thing can't seem to handle frequent and persistent writes as good as the original. It caused some problems in a couple of my algorithms. Its probably a good idea to export two versions of SMR... :) .