Resource Reservation Protocol over Unreliable Packet Transport
First Claim
1. A system, comprising:
- a processor node comprising a processor and a network interface;
a plurality of memory nodes, wherein each memory node comprises a memory and a network interface;
a communication network configured to interconnect said processor node and said plurality of memory nodes via said network interfaces according to a network topology, wherein each of said memory nodes is removed from said processor node by a respective number of network hops according to said network topology;
wherein said processor node is configured to;
broadcast a memory request message comprising a unique identifier of a given memory request and a requested memory size to a subset of said plurality of memory nodes;
send a confirmation message comprising the unique identifier to a particular one of the subset of memory nodes in response to receiving a reservation acknowledgment message from said particular one of the memory nodes; and
access memory on the particular one of the memory nodes in response to receiving a commit message from the particular one of the memory nodes indicating that the memory has been allocated for the given memory request.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for allocating physical memory in a distributed, shared memory system and for maintaining interaction with the memory using a reservation protocol is disclosed. In various embodiments, a processor node may broadcast a memory request message to a first subset of nodes connected to it via a communication network. If none of these nodes is able to satisfy the request, the processor node may broadcast the request message to additional subsets of nodes until a positive response is received. The reservation protocol may include a four-way handshake between the requesting processor node and a memory node that can fulfill the request. The method may include creation of a reservation structure on the requesting processor and on one or more responding memory nodes. The reservation protocol may facilitate the use of a proximity-based search methodology for memory allocation in a system having an unreliable underlying transport layer.
-
Citations
20 Claims
-
1. A system, comprising:
-
a processor node comprising a processor and a network interface; a plurality of memory nodes, wherein each memory node comprises a memory and a network interface; a communication network configured to interconnect said processor node and said plurality of memory nodes via said network interfaces according to a network topology, wherein each of said memory nodes is removed from said processor node by a respective number of network hops according to said network topology; wherein said processor node is configured to; broadcast a memory request message comprising a unique identifier of a given memory request and a requested memory size to a subset of said plurality of memory nodes; send a confirmation message comprising the unique identifier to a particular one of the subset of memory nodes in response to receiving a reservation acknowledgment message from said particular one of the memory nodes; and access memory on the particular one of the memory nodes in response to receiving a commit message from the particular one of the memory nodes indicating that the memory has been allocated for the given memory request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method, comprising:
-
a processor node broadcasting a memory request message comprising a unique identifier of a given memory request and a requested memory size to a plurality of memory nodes, wherein said plurality of memory nodes and said processor node are interconnected via a communication network according to a network topology; the processor node sending a confirmation message to a particular one of the plurality of memory nodes in response to receiving a reservation acknowledgment message from said particular one of the plurality of memory nodes; and the processor accessing memory on the particular one of the memory nodes in response to receiving a commit message from the particular one of the memory nodes indicating that the memory has been allocated for the given memory request. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A processor node, comprising:
-
an input/output interface configured for communicating with a communication network, wherein said communication network is configured to interconnect a plurality of memory nodes according to a network topology; and execution logic configured to; broadcast a memory request message comprising a unique identifier of a given memory request and a requested memory size to the plurality of memory nodes; send a confirmation message to a particular one of the memory nodes in response to receiving a reservation acknowledgment message from said particular one of the memory nodes; and access memory on the particular one of the memory nodes in response to receiving a commit message from the particular one of the memory nodes indicating that the memory has been allocated for the given memory request. - View Dependent Claims (18)
-
-
19. A memory node, comprising:
-
a memory; an input/output interface configured for communicating with a communication network, wherein said communication network is configured to interconnect a processor node and a plurality of memory nodes according to a network topology; and execution logic configured to; receive a memory request message comprising a unique identifier of a given memory request and a requested memory size from the processor node; reserve a portion of memory at least as large as the requested memory size and send a reservation acknowledgement message comprising the unique identifier to the processor node in response to receiving the given memory request if the given memory request may be satisfied by the memory node; and send a commit message comprising the unique identifier to the processor node in response to receiving a confirmation message from the processor node. - View Dependent Claims (20)
-
Specification