Patent ID: 9652289
Date: 2017-05-16
CPC Classifications: G06F

Claim:
1. A method of memory allocation for memory that is accessible within an operating system environment of a multicore processor, the method including controlling the allocation of the memory to memory-requesting portions of the multicore processor by: obtaining a plurality of partitioned lockless list structures, each of the partitioned lockless list structures including a respective plurality of list elements, each of the respective list elements corresponding to a respective portion of the memory that is currently eligible for allocation, the plurality of partitioned lockless list structures being partitioned by application of an adaptive hash to each of a plurality of key values that correspond to elements of a topology of an architecture of the multicore processor; upon a request for allocating one or more of the respective portions of the memory to a core processor for use as allocated memory, searching said plurality of partitioned lockless list structures for an available list element that corresponds to an available respective portion of the memory that is currently eligible for allocation for use as allocated memory, the searching performed using an adaptive hash that is keyed to respectively hash to each of the plurality of partitioned lockless list structures; upon finding said available list element, allocating said available respective portion of the memory to said core processor for use as allocated memory; and dynamically balancing said available list elements among said plurality of said lockless list structures according to a balancing metric that is configured to optimize the allocation of the memory.