Efficient usage of one-sided RDMA for linear probing

US11966356B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11966356-B2
Application numberUS-202218088353-A
CountryUS
Kind codeB2
Filing dateDec 23, 2022
Priority dateJun 12, 2020
Publication dateApr 23, 2024
Grant dateApr 23, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems and methods for reducing latency of probing operations of remotely located linear hash tables are described herein. In an embodiment, a system receives a request to perform a probing operation on a remotely located linear hash table based on a key value. Prior to performing the probing operation, the system dynamically predicts a number of slots for a single read of the linear hash table to minimize total cost for an average probing operation. The system determines a hash value based on the key value and determines a slot of the linear hash table to which the hash value corresponds. After predicting the number of slots, the system issues an RDMA request to perform a read of the predicted number of slots from the linear hash table starting at the slot to which the hash value corresponds.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: one or more processors; a memory storing instructions which, when executed by the one or more processors, causes performance of: receiving a request to execute a query; identifying a plurality of query execution plans that may be used for responding to the query, wherein a particular query execution plan, of the plurality of query execution plans, comprises a probing operation on a remotely located linear hash table based on a key value; determining a cost of each of the plurality of query execution plans, wherein determining the cost of each of the plurality of query execution plans comprises, for the particular query execution plan: predicting a number of slots for a single read of the linear hash table to minimize total cost for an average probing operation, and based on the predicted number of slots, computing a likely cost of performing the probing operation with the predicted number of slots for each read; based on the cost of each of the plurality of query execution plans, selecting a query execution plan from among the plurality of query execution plans, and using the query execution plan to respond to the query; wherein the query execution plan that is selected to respond to the query is the particular query execution plan; and wherein using the particular query execution plan to respond to the query includes performing the probing operation on the remotely located linear hash table based on the key value. 2. The system of claim 1 , wherein dynamically predicting the number of slots for a single read of the linear hash table to minimize total cost for the average probing operation comprises: generating a first value comprising a cost of performing a single read operation from the linear hash table as a function of a number of slots per read; generating a second value comprising an expected number of reads to reach a first empty slot as a function of the number of slots per read; computing the predicted number of slots as a minimization over the number of slots per read of a function comprising the cost of performing the single read operation and the expected number of reads to reach the first empty slot. 3. The system of claim 2 , wherein computing the expected number of reads to reach the first empty slot comprises computing a summation of a plurality of weighted probabilities, each of the plurality of weighted probabilities computed as a product of a number of reads and a probability that the first empty slot would be found after the number of reads but not after a smaller number of reads. 4. The system of claim 3 , wherein each of the plurality of weighted probabilities is computed based, at least in part, on a number of slots in the linear hash table and a number of empty slots in the linear hash table. 5. The system of claim 1 , wherein the plurality of query execution plans includes an alternative query execution plan that involves sending RDMA read requests to a cuckoo hash table. 6. The system of claim 1 , wherein determining a cost of each of the plurality of query execution plans includes determining the cost of an alternative query execution plan based on one or more stored average latencies, wherein the one or more stored average latencies are derived from latencies experienced by previous searches that searched one or more data structures. 7. The system of claim 1 wherein determining the cost of the particular query execution plan further comprises computing a product of (a) a cost of checking each of multiple locations in the linear hash table, and (b) a respective likelihood that a desired data value is stored in each of the multiple locations. 8. The system of claim 1 wherein the instructions include instructions for determining an optimal order for checking each of a plurality of locations within the linear hash table. 9. A computer-executed method comprising: receiving a request to execute a query; identifying a plurality of query execution plans that may be used for responding to the query, wherein a particular query execution plan, of the plurality of query execution plans, comprises a probing operation on a remotely located linear hash table based on a key value; determining a cost of each of the plurality of query execution plans, wherein determining the cost of each of the plurality of query execution plans comprises, for the particular query execution plan: predicting a number of slots for a single read of the linear hash table to minimize total cost for an average probing operation, and based on the predicted number of slots, computing a likely cost of performing the probing operation with the predicted number of slots for each read; based on the cost of each of the plurality of query execution plans, selecting a query execution plan from among the plurality of query execution plans, and using the query execution plan to respond to the query; wherein the query execution plan that is selected to respond to the query is the particular query execution plan; and wherein using the particular query execution plan to respond to the query includes performing the probing operation on the remotely located linear hash table based on the key value. 10. The computer-executed method of claim 9 , wherein dynamically predicting the number of slots for a single read of the linear hash table to minimize total cost for the average probing operation comprises: generating a first value comprising a cost of performing a single read operation from the linear hash table as a function of a number of slots per read; generating a second value comprising an expected number of reads to reach a first empty slot as a function of the number of slots per read; computing the predicted number of slots as a minimization over the number of slots per read of a function comprising the cost of performing the single read operation and the expected number of reads to reach the first empty slot. 11. The computer-executed method of claim 10 , wherein computing the expected number of reads to reach the first empty slot comprises computing a summation of a plurality of weighted probabilities, each of the plurality of weighted probabilities computed as a product of a number of reads and a probability that the first empty slot would be found after the number of reads but not after a smaller number of reads. 12. The computer-executed method of claim 11 , wherein each of the plurality of weighted probabilities is computed based, at least in part, on a number of slots in the linear hash table and a number of empty slots in the linear hash table. 13. The computer-executed method of claim 9 , wherein the plurality of query execution plans includes an alternative query execution plan that involves sending RDMA read requests to a cuckoo hash table. 14. The computer-executed method of claim 9 , wherein determining a cost of each of the plurality of query execution plans includes determining the cost of an alternative query execution plan based on one or more stored average latencies, wherein the one or more stored average latencies are derived from latencies experienced by previous searches that searched one or more data structures. 15. The computer-executed method of claim 9 wherein determining the cost of the particular query execution plan further comprises computing a product of (a) a cost of checking each of multiple locations in the linear hash table, and (b) a respective likelihood that a desired data value is stored in each of the multiple locations. 16. The computer-executed method of claim 9 further comprising determining an optimal ord

Assignees

Inventors

Classifications

  • Distributed shared memory [DSM], e.g. remote direct memory access [RDMA] · CPC title

  • Query processing · CPC title

  • Query execution · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11966356B2 cover?
Systems and methods for reducing latency of probing operations of remotely located linear hash tables are described herein. In an embodiment, a system receives a request to perform a probing operation on a remotely located linear hash table based on a key value. Prior to performing the probing operation, the system dynamically predicts a number of slots for a single read of the linear hash tabl…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F15/17331. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 23 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).