CPC G06F 16/9014 (2019.01) [G06F 16/23 (2019.01)] | 14 Claims |
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.
|