Workload bechmark

Allocators have compared under different kinds of loads. Here we show the results obtained under periodic loads. In this model, a real-time thread can request a maximum amount of memory per period. This amount can be requested in a single or several mallocs. Each individual allocated block can be maintained in the system during a maximum time. So each task defines two parameters in the task specification: Gmax and Hmax. Gmax is the maximum size requested by period and Hmax, the maximum holding time.

This kind of workload is widely used by the real-time community.
Considering the lack of real-time applications that use dynamic
memory, we were forced to use synthetic workloads in our
experiments.

Three profiles have been considered:

  • Profile 1: Tasks request blocks of big sizes. (> 4 Kb)
  • Profile 2: Tasks request blocks of small sizes. (< 4 Kb)
  • Profile 3: Tasks request blocks of big and small sizes.

The results are the summary of hundreds of tests under different randomly generated set of task. The histogram of one of the load generated for Profile1 is shown in the next picture.

In this task set, 5 tasks can be identified.