Today’s computers have multiple processing cores to improve performance; however, a bottleneck arises in multi-core processors where there is only one memory controller, as each processor would need to be able to access the same memory. The Non-Uniform Memory Access computing architecture, or NUMA, addresses this bottleneck by giving a separate memory controller to each processing core. Those computing nodes are connected, and memory allocator software dictates how the system allocates resources to computing tasks. Current memory allocators have substantial drawbacks for tasks that require a large amount of remote accesses, have load imbalance among memory controllers, or have interconnect congestion.
The inventors have created a patent pending NUMA memory allocator called NUMAlloc that solves the above memory management problems through four innovations: 1) Binding-based memory management; 2) Interleaved heap; 3) Huge page support; 4) Reduced overhead of migrating objects among freelists. These innovations result in a drop-in, scalable memory allocator that compared to the state-of-the-art allocator speeds computing performance by an average of 13% and speeds up to about 5x for memory intensive applications.