ETD system

Electronic theses and dissertations repository

 

Tesi etd-08302017-152348


Thesis type
Tesi di laurea magistrale
Author
LUCHERINI, ELENA
URN
etd-08302017-152348
Title
Design and Implementation of a Memory Allocator to Achieve Cache Partitioning in the Linux Kernel
Struttura
INGEGNERIA DELL'INFORMAZIONE
Corso di studi
EMBEDDED COMPUTING SYSTEMS
Commissione
relatore Buttazzo, Giorgio C.
relatore Cucinotta, Tommaso
correlatore Biondi, Alessandro
Parole chiave
  • performance
  • allocator
Data inizio appello
03/10/2017;
Consultabilità
parziale
Data di rilascio
03/10/2087
Riassunto analitico
Predictability is one of the key properties of hard real-time systems. A system is
predictable when it is possible to guarantee in advance that the timing constraints
of all the tasks in the system will be met. Achieving predictability on modern
multi-core systems is, however, very challenging, mainly due to shared architectural
resources, such as cache memories. It has been shown that the interference caused
by a shared cache can increase the task execution time by up to 40%, with even
higher delay spikes that are hard to predict.
The problem of mitigating the effects of cache interference has received much
attention in the real-time systems community. A popular and effective approach is
a software cache-partitioning technique called page coloring. With page coloring,
memory is partitioned into colors. Assigning different colors to different tasks avoids
cache interference between the tasks, as they do not contend for the same cache
partitions. Therefore, the tasks are spatially isolated in cache.
Various uses of page coloring have been proposed in the literature. However, the
existing implementation efforts only take into account single page requests and do
not isolate kernel processes, which can still interfere with other tasks.
Conversely to previous works, this thesis targets both user-space and kernel
memory. The objective of this work is to provide insights into the design and
implementation of a page coloring solution for the latest Linux PREEMPT-RT
kernel. The proposed implementation supports both single-page and multiple-page
allocation schemes.
Experimental results show significant improvements in task isolation, as our
solution reduces the effects of cache interference. Interference affecting worst-case
execution times is decreased from 14.6% to a maximum of 4.4%.
File