Kovan: From Production MVCC Systems to Wait-Free Memory Reclamation
4 points by sp6370
4 points by sp6370
A necessary nitpick: if a single suspended thread can block the whole system from making progress, that is not "lock-free" (not even "obstruction-free"), it is "blocking". That's why epoch-based reclamation is considered a blocking algorithm, even though it doesn't use locks anywhere. Hazard pointers OTOH are lock-free by construction (and in some cases wait-free), but are generally slower than EBR unless asymmetric memory barriers (e.g. membarrier(2)) are used.
Implementing Crystalline in Rust is a very impressive achievement though, I just found the presentation mildly misleading.