Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-10855

Lock free lists using CAS and generations

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • StorEng - Refinement Pipeline

      This ticket describes a lock free mechanism to handle linked lists and potentially other data structures, using WT generations to manage the disposal of removed objects.

      There are already some great ideas to do lock free data structures in WT-10609.  This idea differs in that it uses simple data structures, pretty easily adapted from the sort of lists we use now.  Its disadvantage relative to both WT-10609, and a pure locking approach, is that cannot provide an isolated view of the items.  But maybe that's enough in some cases.

      The algorithms are explained in the comments.

            backlog-server-storage-engines [DO NOT USE] Backlog - Storage Engines Team
            donald.anderson@mongodb.com Donald Anderson
            0 Vote for this issue
            4 Start watching this issue