Allocator

Memory Pool

Memory pools is the use of pools for memory management that allows dynamic memory allocation.

Saw this at NVIDIA. This is really fundamental stuff that Kajanan explained to me to motivate allocator (C++)

What problem do memory pools solve?

malloc and C++‘s new keyword may suffer from Fragmentation because of variable block sizes. Therefore, it’s not recommendable to use them in a real time system due to performance.

Rather, we want to preallocate a number of memory blocks with the same size called the memory pool. The application can allocate, access, and free blocks represented by handles at run time. Source: Wikipedia

Many real-time operating systems use memory pools, such as the Transaction Processing Facility.