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.
