Locality-aware interface for kernal dynamic memory
First Claim
1. A processor-implemented method for allocating memory objects in a non-uniform memory access (NUMA) system, comprising:
- establishing at least one instance of a data structure of a first type including a plurality of locality definitions, wherein each instance of the first type data structure has an associated set of program-configurable attributes used in controlling allocation of memory objects via the instance of the first type data structure, and each locality definition being selectable via a locality identifier and designating a memory subsystem in the NUMA system;
in response to a request from a processor in the NUMA system for allocation of memory objects via the an instance of the first type data structure and specifying a locality identifier, allocating to the processor memory objects from the memory subsystem designated by the locality definition as referenced by the locality identifier.
1 Assignment
0 Petitions
Accused Products
Abstract
Various approaches are described for allocating memory objects in a non-uniform memory access (NUMA) system. In one embodiment, at least one instance of a data structure of a first type is established to include a plurality of locality definitions. Each instance of the first type data structure has an associated set of program-configurable attributes that are used in controlling allocation of memory objects via the instance. Each locality definition is selectable via a locality identifier and designates a memory subsystem in the NUMA system. In response to a request from a processor in the NUMA system for allocation of memory objects via an instance of the first type data structure and specifying a locality identifier, memory objects are allocated to the requesting processor from the memory subsystem designated by the locality definition as referenced by the locality identifier.
-
Citations
29 Claims
-
1. A processor-implemented method for allocating memory objects in a non-uniform memory access (NUMA) system, comprising:
-
establishing at least one instance of a data structure of a first type including a plurality of locality definitions, wherein each instance of the first type data structure has an associated set of program-configurable attributes used in controlling allocation of memory objects via the instance of the first type data structure, and each locality definition being selectable via a locality identifier and designating a memory subsystem in the NUMA system;
in response to a request from a processor in the NUMA system for allocation of memory objects via the an instance of the first type data structure and specifying a locality identifier, allocating to the processor memory objects from the memory subsystem designated by the locality definition as referenced by the locality identifier. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A program storage medium, comprising:
-
a processor-readable device configured with instructions for allocating memory objects in a non-uniform memory access (NUMA) system, wherein execution of the instructions by one or more processors causes the one or more processors to perform operations including, establishing at least one instance of a data structure of a first type including a plurality of locality definitions, wherein each instance of the first type data structure has an associated set of program-configurable attributes used in controlling allocation of memory objects via the instance of the first type data structure, and each locality definition being selectable via a locality identifier and designating a memory subsystem in the NUMA system;
in response to a request from a processor in the NUMA system for allocation of memory objects via the an instance of the first type data structure and specifying a locality identifier, allocating to the processor memory objects from the memory subsystem designated by the locality definition as referenced by the locality identifier. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A apparatus for allocating memory objects in a non-uniform memory access (NUMA) system, comprising:
-
means for establishing at least one instance of a data structure of a first type including a plurality of locality definitions, wherein each instance of the first type data structure has an associated set of program-configurable attributes used in controlling allocation of memory objects via the instance of the first type data structure, and each locality definition being selectable via a locality identifier and designating a memory subsystem in the NUMA system;
means, responsive to a request from a processor in the NUMA system for allocation of memory objects via the an instance of the first type data structure and specifying a locality identifier, for allocating to the processor memory objects from the memory subsystem designated by the locality definition as referenced by the locality identifier. - View Dependent Claims (28, 29)
-
Specification