Same-machine remote direct memory operations (RDMOS)

US11709784B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11709784-B2
Application numberUS-202117214564-A
CountryUS
Kind codeB2
Filing dateMar 26, 2021
Priority dateAug 6, 2018
Publication dateJul 25, 2023
Grant dateJul 25, 2023

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.

Techniques are described for offloading remote direct memory operations (RDMOs) to “execution candidates”. The execution candidates may be any hardware capable of performing the offloaded operation. Thus, the execution candidates may be network interface controllers, specialized co-processors, FPGAs, etc. The execution candidates may be on a machine that is remote from the processor that is offloading the operation, or may be on the same machine as the processor that is offloading the operation. Details for certain specific RDMOs, which are particularly useful in online transaction processing (OLTP) and hybrid transactional/analytical (HTAP) workloads, are provided.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-executed method comprising: a process, executing on a particular processor, sending a single request to cause a single Remote Direct Memory Operation (RDMO) to be executed by an execution candidate that does not include the particular processor; wherein the particular processor and the execution candidate are implemented on a particular computing device; wherein the single RDMO is defined as requiring performance of a pre-defined sequence of two or more distinct sub-operations; wherein the two or more distinct sub-operations include a first sub-operation and one or more additional sub-operations performed in the pre-defined sequence; wherein each sub-operation, of the two or more distinct sub-operations, is one of: a read operation, a write operation, or a compare-and-swap operation. 2. The computer-executed method of claim 1 , wherein the execution candidate is an auxiliary processor of the particular computing device. 3. The computer-executed method of claim 2 , wherein the auxiliary processor is implemented on a field programmable gate array configured with logic to perform the single RDMO. 4. The computer-executed method of claim 2 , wherein the single RDMO requires access to data in local volatile memory of the particular computing device, and wherein the auxiliary processor has direct access to the local volatile memory of the particular computing device. 5. The computer-executed method of claim 4 , wherein the auxiliary processor has direct access to the local volatile memory of the particular computing device via circuitry of the particular processor distinct from one or more cores of the particular processor. 6. The computer-executed method of claim 1 , wherein said causing the single RDMO to be executed by the execution candidate is performed in response to determining that it would be more efficient for the execution candidate to perform the single RDMO than the particular processor to perform the single RDMO. 7. The computer-executed method of claim 1 , wherein the particular processor is in a first reliability domain and the execution candidate is in a second reliability domain. 8. A computer-executed method comprising: a process, executing on a particular processor, causing a Remote Direct Memory Operation (RDMO) to be executed by an execution candidate that does not include the particular processor; wherein the RDMO comprises a pre-defined sequence of two or more sub-operations; wherein each sub-operation, of the two or more sub-operations, is one of: a read operation, a write operation, or a compare-and-swap operation; and wherein causing the RDMO to be executed comprises causing the execution candidate to perform appending a write value to content of a disk page by: based, at least in part, on a location value for the content of the disk page, determining whether the disk page includes free space that is at least a size of the write value, and in response to determining that the disk page includes free space that is at least the size of the write value: appending the write value to an end of the content of the disk page. 9. The computer-executed method of claim 8 , wherein appending the write value to the content of the disk page further comprises atomically incrementing the location value by a length of the write value. 10. A system comprising: a process executing on a particular processor that sends a single request to cause a single Remote Direct Memory Operation (RDMO) to be executed by an execution candidate that does not include the particular processor; wherein the particular processor and the execution candidate are implemented on a particular computing device; wherein the single RDMO is defined as requiring performance of a pre-defined sequence of two or more distinct sub-operations; wherein the two or more distinct sub-operations include a first sub-operation and one or more additional sub-operations performed in the pre-defined sequence; wherein each sub-operation, of the two or more distinct sub-operations, is one of: a read operation, a write operation, or a compare-and-swap operation. 11. The system of claim 10 , wherein the execution candidate is an auxiliary processor of the particular computing device. 12. The system of claim 11 , wherein the auxiliary processor is implemented on a field programmable gate array configured with logic to perform the single RDMO. 13. The system of claim 11 , wherein the single RDMO requires access to data in local volatile memory of the particular computing device, and wherein the auxiliary processor has direct access to the local volatile memory of the particular computing device. 14. The system of claim 13 , wherein the auxiliary processor has direct access to the local volatile memory of the particular computing device via circuitry of the particular processor distinct from one or more cores of the particular processor. 15. The system of claim 10 , wherein said causing the single RDMO to be executed by the execution candidate is performed in response to determining that it would be more efficient for the execution candidate to perform the single RDMO than the particular processor to perform the single RDMO. 16. The system of claim 10 , wherein the particular processor is in a first reliability domain and the execution candidate is in a second reliability domain. 17. A system comprising: a process executing on a particular processor that causes a Remote Direct Memory Operation (RDMO) to be executed by an execution candidate that does not include the particular processor; wherein the RDMO comprises a pre-defined sequence of two or more sub-operations; wherein each sub-operation, of the two or more sub-operations, is one of: a read operation, a write operation, or a compare-and-swap operation; and wherein causing the RDMO to be executed comprises causing the execution candidate to perform appending a write value to content of a disk page by: based, at least in part, on a location value for the content of the disk page, determining whether the disk page includes free space that is at least a size of the write value, and in response to determining that the disk page includes free space that is at least the size of the write value: appending the write value to an end of the content of the disk page. 18. The system of claim 17 , wherein appending the write value to the content of the disk page further comprises atomically incrementing the location value by a length of the write value.

Assignees

Inventors

Classifications

  • for peripheral access to main memory, e.g. direct memory access [DMA] · CPC title

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

  • Updates performed during online database operations; commit processing · CPC title

  • Coherency control relating to peripheral accessing, e.g. from DMA or I/O device · CPC title

  • G06F9/547Primary

    Remote procedure calls [RPC]; Web services · 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 US11709784B2 cover?
Techniques are described for offloading remote direct memory operations (RDMOs) to “execution candidates”. The execution candidates may be any hardware capable of performing the offloaded operation. Thus, the execution candidates may be network interface controllers, specialized co-processors, FPGAs, etc. The execution candidates may be on a machine that is remote from the processor that is off…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F12/1081. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 25 2023 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).