Managing computer memory is a fundamental consideration when developing and optimizing any software application. It’s a job handled by the memory allocator—a program that ensures free blocks of memory are available at the right time and in the right amount for efficient application performance.
It's not an easy task, particularly for parallel applications that expect fast allocation and deallocation while also demanding the allocator return memory that’s hot in the CPU cache, avoid hitting cache associativity limits, prevent false sharing, and keep memory consumption modest.
A common result? Performance bottlenecks.
The Threading Building Blocks (TBB) scalable memory allocator can solve these problems and improve performance of parallel programs.
Join Nikita Ponomarev, software engineer at Intel for more information, including:
- Main principles of memory allocator design
- How to use the TBB memory allocator
- How to tune the scalable allocator behavior and control memory consumption