Characterizing Prefetchers using CacheObserver
Resumo
Hardware prefetchers are mostly undocumented micro-architectural components of the cache hierarchy, with performance and security implications. Intel CPUs feature four named prefetchers whose behaviors are generally unknown. We build CacheObserver, a generic framework to study prefetchers on Intel CPUs and the first to use the Flush+Flush primitive, unlike previous studies using Flush+Reload. We apply this framework to characterize the L2 Stream prefetcher on the Intel Whiskey and Coffee Lake micro-architectures and uncover the behavior of the L2 Stream prefetcher upon the first few accesses in a page. We also uncover interactions at the L2 level between the Stream and the Adjacent Cache Line prefetchers.
Palavras-chave:
Hardware prefetchers, reverse-engineering, clflush, L2 cache, rust, Stream prefetcher, Flush-Flush
Publicado
02/11/2022
Como Citar
DIDIER, Guillaume; MAURICE, Clémentine; GEIMER, Antoine; GHANDOUR, Walid J..
Characterizing Prefetchers using CacheObserver. In: INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING (SBAC-PAD), 34. , 2022, Bordeaux/France.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2022
.
p. 170-179.