Developer Guide

  • 2021.1
  • 11/03/2021
  • Public

Cache Allocation Library

cache allocation library
is a set of C language APIs that help reduce memory access latency by allocating buffers that cannot be evicted from cache. The library allocates buffers in Level 2 (L2) cache or Level 3 (L3) cache to meet low-latency requirements.
  • The library helps bound the time needed to access data from a memory buffer to a certain maximum tolerable latency. To achieve low latencies, it creates a buffer in cache using a mechanism that helps protect data from being evicted by the same or other processes attempting to use the same cache. Protection solely from other processes may be obtained by simply using Cache Allocation Technology (without the cache allocation library).
  • The library enables you to move your application from one Intel platform to another without refactoring your code. As long as your application is running on a supported platform, the library will assess the memory hierarchy of the platform and create a buffer based on the latency requirement.
The library is useful when you need to bound the worst-case execution time (WCET) of a particular function
in your application and cannot achieve that WCET with malloc due to memory access jitter. You can replace malloc with the cache allocation library to bound the access latency of the buffer and in turn reduce WCET.

Product and Performance Information


Performance varies by use, configuration and other factors. Learn more at