There's also this 
paper: http://www.rdrop.com/users/paulmck/RCU/hart_ipdps06.pdf (Hart, 
McKenney, and Brown), which was somewhat of a follow up to Hart's thesis.
It's a short and concise performance analysis comparing QSBR, hazard 
pointers, epochs, and CAS-based (not wait-free) lock-free reference 
counting.

On Sunday, January 28, 2018 at 8:05:53 PM UTC+2, Duarte Nunes wrote:
>
> There's also Quiescent-State-Based Reclamation, which emerged in the 
> context of RCU. Tom Hart’s 2005 thesis[1] provides a pretty comprehensive 
> overview of these memory reclamation strategies.
>
> Another approach to consider would be a sharded design a la Seastar[2], or 
> some other approach leveraging the single writer principle (i.e., 
> peer-to-peer communication based on SPSC queues) to decrease 
> synchronization overhead.
>
> [1] http://www.cs.toronto.edu/~tomhart/papers/tomhart_thesis.pdf
> [2] https://github.com/scylladb/seastar
>
> On Sun, Jan 28, 2018 at 5:45 PM Chris Vest <[email protected] 
> <javascript:>> wrote:
>
>> Hi,
>>
>> I know of two ways to do manual memory management in multi-threading 
>> code: hazard pointers and epochs.
>>
>> Which one is generally considered the higher performance option?
>> Are there any other options that should be considered as well?
>> Are there any spicy trade-offs one should make sure to factor into the 
>> decision of which one to go with?
>>
>> Thanks,
>> Chris.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to