Faster memory access in non-unified memory access systems
First Claim
1. A method of near memory allocation for a device in an information processing system including a plurality of processing nodes and a plurality of memories respectively associated with the processing nodes, the method comprising:
- determining a near processing node to the device;
determining a near memory associated with the near processing node;
allocating a portion of the near memory to the device;
wherein the determining the near processing node comprises;
accessing respective routing tables associated with each of the processing nodes and located in respective processing nodes;
processing information from the routing tables associated with respective ones of the processing nodes to determine which of the processing nodes is nearer to the device; and
selecting a specific one of the processing nodes which is nearer to the device as the near processing node.
6 Assignments
0 Petitions
Accused Products
Abstract
A generic NUMA-compliant memory selection technique is provided to enable a device capable of accessing memory anywhere in a system to select a near (potentially the nearest) memory for use with the device. For example, an AGP controller can access system memory anywhere within a multiprocessing node system, but will operate more efficiently, and interfere less with other data transactions, if it locates the closest memory, determines the memory addresses corresponding to the closest memory, and locks (or otherwise allocates) memory addresses for AGP functionality within the range of determined addresses in the near memory.
54 Citations
25 Claims
-
1. A method of near memory allocation for a device in an information processing system including a plurality of processing nodes and a plurality of memories respectively associated with the processing nodes, the method comprising:
-
determining a near processing node to the device; determining a near memory associated with the near processing node; allocating a portion of the near memory to the device; wherein the determining the near processing node comprises; accessing respective routing tables associated with each of the processing nodes and located in respective processing nodes; processing information from the routing tables associated with respective ones of the processing nodes to determine which of the processing nodes is nearer to the device; and selecting a specific one of the processing nodes which is nearer to the device as the near processing node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus comprising:
-
at least one computer readable storage medium; and near memory selector code encoded on the at least one computer readable storage medium, the near memory selector code including instructions for determining a near processing node which corresponds to a data path between a device and the near processing node which is shorter than another data path between the device and another processing node, and instructions for allocating memory locations in a near memory which is locally coupled to the near processing node, wherein each of the near processing node and the another processing node locally store associated topology information that is used to determine locations of the near processing node and the another processing node with respect to the device. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A near memory allocation computer program product, stored on at least one computer readable storage media, for configuring memory in an information processing system including a plurality of processing nodes, a plurality of memories associated with the processing nodes, and a device, the product comprising:
-
instructions for determining a near processing node to the device, wherein the instructions for determining the near processing node to the device include, instructions for accessing respective routing tables associated with respective ones of the processing nodes, the respective routing tables located in respective ones of the processing nodes, instructions for processing information from the routing tables to determine which one of the processing nodes is nearer to the device; and instructions for selecting the processing node which is nearer to the device as the near processing node; instructions for determining a near memory associated with the near processing node; and instructions for allocating a portion of the near memory to the device. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method of near memory allocation for a device in an information processing system including a plurality of processor nodes and a plurality of memories respectively associated with the processor nodes, the method comprising:
-
accessing respective routing tables in each of the processing nodes; determining, based on accessing the routing tables in each of the processing nodes, a nearest processing node to a bridge device as a near processing node; accessing a memory routing table in the near processing node and determining therefrom an address range associated with a near memory associated with the near processing node; and allocating device memory in the near memory within the address range to the device.
-
Specification