SYSTEMS AND METHODS FOR S-LIST PARTITIONING
First Claim
1. A method for managing the allocation of a plurality of memory elements stored within one or more lockless list structures, said lockless list structures accessible within an operating system environment of a multicore processor, the steps of said method comprising:
- partitioning said one or more lockless list structures;
initially partitioning said plurality of memory elements among said one or more lockless list structures;
upon a request for allocating a memory element to a core processor, searching said one or more lockless list structures for an available memory element;
upon finding said available memory element, allocating said available memory element to said core processor; and
dynamically balancing said memory elements among said one or more said lockless list structures according to a suitable balancing metric.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and techniques of the management of the allocation of a plurality of memory elements stored within a plurality of lockless list structures are presented. These lockless list structures (such as Slists) may be made accessible within an operating system environment of a multicore processor—and may be partitioned within the system. Memory elements may also be partitioned among these lockless list structures. When a core processor (or other processing element) makes a request for allocating a memory element to itself, the system and/or method may search among the lockless list structures for an available memory element. When a suitable and/or available memory element is found, the system may allocate the available memory element to requesting core processor. Dynamically balancing of memory elements may occur according to a suitable balancing metric, such as maintain substantial numerical equality of memory elements or avoid over-allocation of resources.
12 Citations
20 Claims
-
1. A method for managing the allocation of a plurality of memory elements stored within one or more lockless list structures, said lockless list structures accessible within an operating system environment of a multicore processor, the steps of said method comprising:
-
partitioning said one or more lockless list structures; initially partitioning said plurality of memory elements among said one or more lockless list structures; upon a request for allocating a memory element to a core processor, searching said one or more lockless list structures for an available memory element; upon finding said available memory element, allocating said available memory element to said core processor; and dynamically balancing said memory elements among said one or more said lockless list structures according to a suitable balancing metric. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for managing the allocation of a plurality of memory elements stored within one or more lockless list structures, said lockless list structures accessible within an operating system environment of a multicore processor, said system comprising:
-
a plurality of core processors, said core processors partitioned into a set of processor sockets; a set of shared memory, said shared memory being accessible with at least one of said processor sockets; communications pathways between at least two said processor sockets; a set of one or more lockless list structures, each said lockless list structure capable of storing at least one memory element, said set of one or more lockless list structures capable of being partitioned to allow allocation of said memory elements to said core processors upon a request for memory element allocations; an allocation module, said allocation module capable of receiving requests for memory element allocations from said plurality of core processors; and wherein said allocation module is capable of dynamically adjusting memory elements between said set of one or more lockless list structure according to a suitable balancing metric. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A computer readable storage medium that is not a transient signal, said computer readable storage medium having computer-executable instructions stored thereon that, when executed by a processor, cause said processor to execute:
- a method for managing the allocation of a plurality of memory elements stored within one or more lockless list structures, said lockless list structures accessible within an operating system environment of a multicore processor, the steps of said method comprising the step of;
partitioning said one or more lockless list structures; initially partitioning said plurality of memory elements among said one or more lockless list structures; upon a request for allocating a memory element to a core processor, searching said one or more lockless list structures for an available memory element; upon finding said available memory element, allocating said available memory element to said core processor; and - View Dependent Claims (18, 19, 20)
- a method for managing the allocation of a plurality of memory elements stored within one or more lockless list structures, said lockless list structures accessible within an operating system environment of a multicore processor, the steps of said method comprising the step of;
Specification