Observer la mémoire

Memory Wall

sudo perf stat

graph TD
  A --> B
  B --> C
  C --> D
  D --> E
  E --> F


A[Program]
B[Compilateur]
C[CPU]
D[VMem]
E[Cache]
F[Ram]

Organisation du cache

“cache line” / “cache blocks”

cacheline

“Fully-associative cache”

fac

“Direct-mapped cache”

dmc

“N-way set associative cache”

nwsac

Alignement des données

“Aligned reference”

struct t *p
sizeof(struct p) = 2^k B
&p mod 2^k = 0

“TLB”

Translation Lookaside Buffers : ce qui est maintenu par l’OS

Mini-projet 2

Avec une cache-lines de 64B
mp2
\ra Extraire une variance pour savoir si ça bouge beaucoup (il va y en avoir). Il ne faut pas que la variance soit aussi haute que les plateaux.
\ra Moyenne, car la RAM est bruitée

Exemple attendu :
stride-attendu

Cf. sf