|
Boost : |
From: Chris Thomasson (cristom_at_[hidden])
Date: 2006-11-10 23:20:55
Okay. I will go ahead and post the CAS operations for my "'mostly' lock-free
refcount library alternative for Boost...":
http://appcore.home.comcast.net/vzoom/refcount/
;^)
If you set your algorithm up right, the low-level nature of the API allows
you to do perform lock-free naked loads for the CAS 'compare' logic. You can
take advantage of its ability to allow you to know when you can make use of
no/basic/strong thread-safety guarantees'. This is a reason why I like to
make the API abstractions of my prototypes in a fairly low-level fashion...
As soon as I add the rest of the code and the draft-level descriptions that
go along with it to my paper; it has to reference atomic reference counting
/w CAS anyway it anyway:
http://appcore.home.comcast.net/vzdoc/atomic/static-init/
Luckily, I don't have to use DWCAS, and Boost can use it because its my
prior art/invention. I do have to say that its performance is definitely not
in the same league as my Virtually Zero-Overhead Object Management (vZOOM)
solution, or some the zero-overhead algorithm that Joe Seigh has been
inventing over at c.p.t. And, FWIW, here is a implementation of a
smart-pointer that has lock-free atomic swap/cas, however, it uses SMR which
has that memory barrier, and that patent application:
http://appcore.home.comcast.net/
Enjoy!
;^)
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk