Re:Why is memory reclamation so important for lock-free algo...
by sbahra on Sunday September 17, 2017 @01:02PM
(#15270534)
This is quiescent-state-based reclamation, other implementations exist that are cheap. I have seen the technique you're talking about used in K42 (after I had also thought I invented something novel, when I used the same approach as you :-P).
[ Parent
| on HN ]
Re:Why is memory reclamation so important for lock-free algo...
by cwzwarich on Sunday September 17, 2017 @06:30PM
(#15272051)
Doesn't the strict definition of QBSR require a thread to keep no references to shared data when it is in quiescent state, whereas epoch-based reclamation allows threads to simply retain no references to older versions of shared data when it advances its epoch?
Re:Why is memory reclamation so important for lock-free algo...
by sbahra on Tuesday September 19, 2017 @01:03PM
(#15286465)
I'm referring to the FIFO implementation. On the definition of QSBR though, frankly, I think the term gets overloaded in some of the more recent literature in this area. Both EBR and QSBR require that no hazardous references get carried over across "protected sections" (EBR is explicit read-side protected sections and in QSBR, across a quiescent point).
Re:Why is memory reclamation so important for lock-free algo...
by emerged on Sunday September 17, 2017 @05:45PM
(#15271874)
I think it does fit that description, but for some reason none of the implementations I found were completely without atomic ops. They had at least barriers which aren't free on ARM.
Re:Why is memory reclamation so important for lock-free algo...
by gpderetta on Tuesday September 19, 2017 @05:22AM
(#15282985)
wouldn't you need acquire/release barriers around your load and stores of your token (or alternatively acq/rel load/stores)? Otherwise your other operations won't be ordered with regard the epoch marked by the token.