US 11,669,570 B2
Amortized execution of updates to a hardened hash table
Bar Harel, Tel-Aviv (IL); Uri Shabi, Tel Mond (IL); and Maor Rahamim, Ramla (IL)
Filed by EMC IP Holding Company LLC, Hopkinton, MA (US)
Filed on Oct. 31, 2019, as Appl. No. 16/669,834.
Prior Publication US 2021/0133244 A1, May 6, 2021
Int. Cl. G06F 12/00 (2006.01); G06F 13/00 (2006.01); G06F 16/901 (2019.01); G06F 16/23 (2019.01)
CPC G06F 16/9014 (2019.01) [G06F 16/23 (2019.01)] 14 Claims
OG exemplary drawing
 
1. A method for implementing amortized execution of updates to a hash table having a plurality of buckets, the method comprising:
aggregating, within a data structure, updates to be executed for the hash table, each of the updates being an update to a respective bucket in the hash table, each of the updates being associated with a bucket index corresponding to the update's respective bucket, wherein the aggregated updates are distributed across a plurality of chunks in the data structure;
sorting the updates within each of the chunks in order of the updates' associated bucket indices; and
updating the plurality of buckets in the hash table, wherein each respective one of the buckets is updated at once with all updates to the bucket from all of the plurality of chunks, each of the plurality of buckets being updated by traversing each of the plurality of chunks in the data structure and executing any updates corresponding to the respective bucket that are present in that chunk, such that the traversal of any of the chunks is stopped in response to all updates for the respective bucket in that chunk being executed, when traversing the plurality of chunks includes traversing in parallel chunks in a subset of the plurality of chunks, the subset including fewer than all chunks in the plurality of chunks, the subset including at least two of the plurality of chunks.