Update

Our original plan was to implement a parallel hashmap using skip lists, but we then changed that goal to implementing a parallel hashmap using lock-free linked lists. We did a lot of research, and have started reading Tim Harris' paper "A Pragmatic Implementation of Non-Blocking Linked Lists" which describes an algorithm to implement a lock-free linked list. We have also consulted an article from MemSQL's blog "Common Pitfalls in Writing Lock-Free Algorithms" to gain perspective on things we could do to further improve on Harris' algorithm. We also plan on evaluating this implementation with a bunch of use cases and seeing whether or not the confusion of lock-free code is actually worth it.

Having trouble with Pages? Check out our documentation or contact support and we’ll help you sort it out.