Memcached server functionality in a cluster of data processing nodes
First Claim
1. A method comprising:
- determining, by one or more processors on a first server on a first SoC node, if a second SoC node has data stored thereon corresponding to a data identifier in response to the second SoC node receiving a data retrieval request from the first SoC node including the data identifier, wherein the first SoC node and the second SoC node are within a cluster of a plurality of nodes;
determining, by the one or more processors, if a remote memory access channel exists between the first SoC node and the second SoC node; and
accessing, by the one or more processors, the data from the second SoC node using the remote memory access channel after determining that the second SoC node has the data stored thereon and that the remote memory access channel exists between the first SoC node and the second SoC node, wherein a response to the second SoC node receiving a data retrieval request from the first SoC node including the data identifier comprises;
installing, by one or more processors on the second SoC node, a mapping of a window on the second SoC node to a physical address, corresponding to the data retrieval request, into a memory management unit on the second SoC node, wherein the mapping is granted as read-only, write-only, or read-write;
installing, by a remote bus processor on the second SoC node, a mapping that designates that the first SoC node has access to the window on the second SoC node;
returning, by one or more processors on the second SoC node, a base intermediate physical address of the window on the second SoC node; and
installing, by one or more processors on the first SoC node, a mapping into a local memory management unit mapping from a window on the first SoC node to the base intermediate physical address of the window on the second SoC node.
7 Assignments
0 Petitions
Accused Products
Abstract
A method is performed by a first server on a chip (SoC) node that is one instance of a plurality of nodes within a cluster of nodes. An operation is performed for determine if a second one of the SoC nodes in the cluster has data stored thereon corresponding to a data identifier in response to receiving a data retrieval request including the data identifier. An operation is performed for determining if a remote memory access channel exists between the SoC node and the second one of the SoC nodes. An operation is performed for access the data from the second one of the SoC nodes using the remote memory access channel after determine that the second one of the SoC nodes has the data stored thereon and that the remote memory access channel exists between the SoC node and the second one of the SoC nodes.
399 Citations
24 Claims
-
1. A method comprising:
-
determining, by one or more processors on a first server on a first SoC node, if a second SoC node has data stored thereon corresponding to a data identifier in response to the second SoC node receiving a data retrieval request from the first SoC node including the data identifier, wherein the first SoC node and the second SoC node are within a cluster of a plurality of nodes; determining, by the one or more processors, if a remote memory access channel exists between the first SoC node and the second SoC node; and accessing, by the one or more processors, the data from the second SoC node using the remote memory access channel after determining that the second SoC node has the data stored thereon and that the remote memory access channel exists between the first SoC node and the second SoC node, wherein a response to the second SoC node receiving a data retrieval request from the first SoC node including the data identifier comprises; installing, by one or more processors on the second SoC node, a mapping of a window on the second SoC node to a physical address, corresponding to the data retrieval request, into a memory management unit on the second SoC node, wherein the mapping is granted as read-only, write-only, or read-write; installing, by a remote bus processor on the second SoC node, a mapping that designates that the first SoC node has access to the window on the second SoC node; returning, by one or more processors on the second SoC node, a base intermediate physical address of the window on the second SoC node; and installing, by one or more processors on the first SoC node, a mapping into a local memory management unit mapping from a window on the first SoC node to the base intermediate physical address of the window on the second SoC node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer-readable medium having tangibly embodied thereon and accessible therefrom a set of instructions interpretable by one or more data processing devices of a first SoC node in a cluster of SoC nodes, wherein the set of instructions is configured to cause the one or more data processing devices to implement operations for:
-
determining if a second SoC node in the cluster has data stored thereon corresponding to a data identifier in response to the second SoC node receiving a data retrieval request from the first SoC node including the data identifier; determining if a remote memory access channel exists between the first SoC node and the second SoC node; and accessing the data from the second SoC node using the remote memory access channel after determining that the second SoC node has data stored thereon and that the remote memory access channel exists between the first and second SoC nodes, wherein a response to the second SoC node receiving a data retrieval request from the first SoC node including the data identifier comprises; installing a mapping of a window on the second SoC node to a physical address, corresponding to the data retrieval request, into a memory management unit on the second SoC node, wherein the mapping is granted as read-only, write-only, or read-write; installing a mapping that designates that the first SoC node has access to the window on the second SoC node; returning a base intermediate physical address of the window on the second SoC node; and installing a mapping into a local memory management unit mapping from a window on the first SoC node to the base intermediate physical address of the window on the second SoC node. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A data processing system comprising:
-
a first server on a first SoC node characterized by a SoC node density configuration; and a second SoC node characterized by a memory configuration enabling the second SoC node to serve in a role of enabling memory resources thereof to be allocated to one or more other SoC nodes; wherein the first SoC node is coupled to the second SoC node by a remote memory access channel; wherein one or more processors of the first SoC node are configured for accessing and processing instructions for causing the first SoC node to determine if the second SoC node has data stored thereon corresponding to a data identifier received by the first SoC node in response to the second SoC node receiving a data retrieval request from the first SoC node including the data identifier; and wherein one or more processors of the second SoC node are configured for accessing and processing instructions for causing the second SoC node to provide the data stored thereon to the first SoC node using the remote memory access channel, wherein a response to the second SoC node receiving a data retrieval request from the first SoC node including the data identifier comprises; installing, by one or more processors on the second SoC node, a mapping of a window on the second SoC node to a physical address, corresponding to the data retrieval request, into a memory management unit on the second SoC node, wherein the mapping is granted as read-only, write-only, or read-write; installing, by a remote bus processor on the second SoC node, a mapping that designates that the first SoC node has access to the window on the second SoC node; returning, by one or more processors on the second SoC node, a base intermediate physical address of the window on the second SoC node; and installing, by one or more processors on the first SoC node, a mapping into a local memory management unit mapping from a window on the first SoC node to the base intermediate physical address of the window on the second SoC node. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
Specification