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
    • 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.

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

              Created:
              Updated: