Pointer Chase

文章目录[隐藏]

远端(异构)内存+内存随机workload会产生交替执行;这样会导致数据依赖(pointer-chasing现象)和加载到缓存里的数据重用率不高。为了具体分析这两个因素对系统性能的影响,可以尝试分别针对L1 cache、L2 Cache、L3 cache、本地内存以及远端(异构)内存的顺序读。

Pointer Chasing 是一个可以被利用的technique来得到远端内存的下一个block或track free block。 inode就是最好的例子。

应用

  1. 最近多次在optane memory的RE writeup 中找到,说明MMU的信息可以通过ptr chaisng leverage.
  2. 可以利用数据依赖的特性,在handler里实现逻辑,比如transfer 数据结构,或者oom exception.

Reference

  1. https://www.ssrc.ucsc.edu/media/pubs/329b041d657e2c2225aa68fb33e72ecca157e6df.pdf
  2. https://arxiv.org/pdf/2204.03289.pdf