Matt Taylor
8/1/2004 3:11:00 AM
Hello, I am looking for information on lock-free lists (primarily as a means
in deadlock avoidance). Is there a list anywhere of various algorithms and
their drawbacks? I am primarily looking to replace a number of spinlocks to
minimize the chance of deadlock in my application. I've looked at a couple
algorithms already, but one is not permissive enough and the other seemed to
require the ability to atomically CAS on 2 distinct, non-contiguous words in
memory. [Aside: are there even any machines that support this? Certainly x86
does not, and that's what I'm working with.]
I am also interested in learning about garbage collection with respect to
lock-free data structures in general. Namely, what are the implications?
(Loss of performance? Memory "leaks"?) I am also very interested in knowing
the limits of data structures that do not require garbage collection since
the overhead for garbage collection is typically very high, at least with
respect to the code I am working on. Essentially I am wondering if the
garbage collector would fit into my application and whether or not it is
appropriate for me to implement one.
Any help would be appreciated. TIA!
-Matt