Method and apparatus for uniform memory access in a storage cluster
US-2020334150-A1 · Oct 22, 2020 · US
US11003579B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11003579-B2 |
| Application number | US-201916381849-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 11, 2019 |
| Priority date | Apr 20, 2018 |
| Publication date | May 11, 2021 |
| Grant date | May 11, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method of managing a distributed system comprises: in response to receiving data that changes in a first memory region of a client, updating data in a second memory region with the received data based on a mapping between the first memory region and the second memory region; in response to receiving a calling request for a computing node in a server from the client, causing the computing node to perform a processing step based on the updated data in the second memory region; determining data that changes after the processing step in the second memory region; and transmitting, to the client, the data that changes after the processing step, such that the client updates the data in the first memory region based on the mapping.
Opening claim text (preview).
What is claimed is: 1. A method of managing a distributed system, comprising: in response to receiving data that changes in a first memory region of a client in the distributed system, wherein the client is configured with a central processing unit, updating data in a second memory region of a server in the distributed system, wherein the server is configured with a set of graphical processing units for virtually providing an accelerated processing capability for the central processing unit of the client, with the received data based on a dual mapping between the first memory region and the second memory region, wherein the dual mapping is established by an application configured to allocate memory space for the first memory region in the client and memory space for the second memory region in the server and thereby create a unified memory access arrangement between the first memory region and the second memory region, wherein the first memory region and the second memory region mirror one another; in response to receiving a calling request for a computing node in the server from the client, wherein the computing node is at least one of the set of graphical processing units, causing the computing node to perform a processing step based on the updated data in the second memory region; determining data that changes after the processing step in the second memory region; and transmitting, to the client, the data that changes after the processing step, such that the client updates the data in the first memory region based on the dual mapping. 2. The method according to claim 1 , further comprising: obtaining the dual mapping between the first memory region and the second memory region. 3. The method according to claim 2 , wherein obtaining the dual mapping between the first memory region and the second memory region comprises: dividing the first memory region respectively into a first group of sub-regions; dividing the second memory region respectively into a second group of sub-regions corresponding to the first group of sub-regions, the sub-regions in the second group having the same sizes as the respective sub-regions in the first group; and establishing a dual mapping between the first group of sub-regions and the second group of sub-regions. 4. The method according to claim 1 , wherein updating the data in the second memory region comprises: determining at least one sub-region in the first memory region associated with the data received from the client; determining, based on the dual mapping, a sub-region from the second memory region corresponding to the at least one sub-region; and updating data in the sub-region determined from the second memory region with the data received from the client. 5. The method according to claim 4 , wherein determining the data that changes after the processing step in the second memory region comprises: obtaining a first hash value before the processing step and a second hash value after the processing step of the at least one sub-region in the second memory region; and in response to the first hash value being different from the second hash value, determining that the data in the at least one sub-region changes. 6. The method according to claim 1 , wherein the second memory region of the server comprises a third memory region inside the computing node and a fourth memory region outside the computing node. 7. A computer program product tangibly stored in a computer readable storage medium and including machine executable instructions which, when executed, cause a machine to perform the method according to steps of claim 1 . 8. A device for managing a distributed system, comprising: one or more processors; a memory coupled to the at least one of the one or more processors; and computer program instructions stored in the memory which, when being executed by the at least one processor, cause the device to perform steps comprising: in response to receiving data that changes in a first memory region of a client in the distributed system, wherein the client is configured with a central processing unit, updating data in a second memory region of a server in the distributed system, wherein the server is configured with a set of graphical processing units for virtually providing an accelerated processing capability for the central processing unit of the client, with the received data based on a dual mapping between the first memory region and the second memory region, wherein the dual mapping is established by an application configured to allocate memory space for the first memory region in the client and memory space for the second memory region in the server and thereby create a unified memory access arrangement between the first memory region and the second memory region, wherein the first memory region and the second memory region mirror one another; in response to receiving a calling request for a computing node in the server from the client, wherein the computing node is at least one of the set of graphical processing units, causing the computing node to perform a processing step based on the updated data in the second memory region; determining data that changes after the processing step in the second memory region; and transmitting, to the client, the data that changes after the processing step, such that the client updates the data in the first memory region based on the dual mapping. 9. The device according to claim 8 , wherein the steps further comprise: obtaining the dual mapping between the first memory region and the second memory region. 10. A method of managing a distributed system, comprising: in response to determining that data in a first memory region of a client in the distributed system changes, wherein the client is configured with a central processing unit, transmitting the data that changes to a server in the distributed system, wherein the server is configured with a set of graphical processing units for virtually providing an accelerated processing capability for the central processing unit of the client, such that the server updates data in a second memory region using the data that changes based on a dual mapping between the first memory region and the second memory region of the server, wherein the dual mapping is established by an application configured to allocate memory space for the first memory region in the client and memory space for the second memory region in the server and thereby create a unified memory access arrangement between the first memory region and the second memory region, wherein the first memory region and the second memory region mirror one another; transmitting, to the server, a calling request for a computing node in the server, so that the computing node performs a processing step based on the data that changes in the second memory region; and in response to receiving, from the server, the data that changes in the second memory region after the processing step, updating the data in the first memory region based on the dual mapping. 11. The method according to claim 10 , further comprising: obtaining the dual mapping between the first memory region and the second memory region. 12. The method according to claim 11 , wherein obtaining the dual mapping between the first memory region and the second memory region comprises: dividing the first memory region respectively into a first group of sub-regions; dividing the second memory region respectively into a second group of sub-regions corresponding to the first group of sub-regions, the second group of sub-regions and the first group of sub-regions having a same size respectively; and establishing a dual mapping between th
Protocols for remote procedure calls [RPC] · CPC title
Protocols · CPC title
Networked environment · CPC title
Correctness of operation, e.g. memory ordering · CPC title
for multiprocessing or multitasking · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.