A lock-free memory allocator with delayed coalescing
OwnerCalum Grantinventor
Life of this patent
Estimating the term…
Loading patent…
OwnerCalum Grantinventor
Estimating the term…
A method is disclosed for dynamic memory allocation in computer programs. The invention uses free-lists stored in a table. A method of delayed coalescing is disclosed, whereby blocks are not coalesced immediately they are deallocated. Coalescing is performed by storing block-pointers in an array, sorting the array, and scanning the array for adjacent blocks. The memory allocator can operate in a completely lock-free way using atomic lists. The invention also contains thread-local caches of memory blocks, allowing it to operate mostly lock-free, and specific methods for allocating data and transferring data in between tables are disclosed. A method for automatic memory management (“garbage collection”) based on this allocator is also disclosed. The realisation of this algorithm is a faster memory allocation system for use by computer programs requiring either automatic or manual memory management.
A computer data structure to organise free memory, that
Allowing the client program to specify coalescing
A method of coalescing free blocks by walking the heap,
Methods for performing concurrent coalescing on data structure in claim, by removing an entire list from a bin, processing it concurrently, then inserting the new data back into the data structure.
Dependencies are inferred from the claim text.