×

Concurrent reads and inserts into a data structure without latching or waiting by readers

  • US 10,108,653 B2
  • Filed: 03/27/2015
  • Issued: 10/23/2018
  • Est. Priority Date: 03/27/2015
  • Status: Active Grant
First Claim
Patent Images

1. A method comprising:

  • performing, by a data structure processor, concurrent read and write operations into a hierarchical data structure;

    acquiring latches, by writers, on the hierarchical data structure elements that the writers modify;

    directly accessing the hierarchical data structure elements by readers without acquiring latches;

    executing a modify operation by a writer for one or more levels of the hierarchical data structure, wherein the modify operation comprises performing a lookup into a parent node for determining a child node to modify, the child node including a linked list, and the modify inserts new entries to the linked list by atomically modifying linked list next pointers; and

    tracking when removed portions of the hierarchical data structure are no longer referenced by use of a combination of a global state value and a local copy of the global state value;

    wherein;

    the global state value transitions through a non-repeating sequence of values;

    no longer referenced portions of the hierarchical data structure are tagged with the global state value captured after last reference removed; and

    the hierarchical data structure comprises a mutable tier including extendible hashing, a hash table, and an immutable tier including a concise hash table (CHT) bitmap.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×