远端(异构)内存+内存随机workload会产生交替执行;这样会导致数据依赖(pointer-chasing现象)和加载到缓存里的数据重用率不高。为了具体分析这两个因素对系统性能的影响,可以尝试分别针对L1 cache、L2 Cache、L3 cache、本地内存以及远端(异构)内存的顺序读。
Pointer Chasing 是一个可以被利用的technique来得到远端内存的下一个block或track free block。 inode就是最好的例子。
应用
- 最近多次在optane memory的RE writeup 中找到,说明MMU的信息可以通过ptr chaisng leverage.
- 可以利用数据依赖的特性,在handler里实现逻辑,比如transfer 数据结构,或者oom exception.