论文复现 - Memtis(二)
实验复现
Memtis - ASPLOS’23
前置 | Linux
Benchmarks 验证运行
依照原文实验,配置了除 SPEC CPU 2017 以外的所有测试集。
gapbs
对 benchmark/bench.mk 做少许修改,手动下载解压。[5]
liblinear
v2.45 没有了,现版本 v2.47。对
graph500
v3.0.0 和 vmitosis-workloads/graph500 均无法使用,单独安装 v2.1.4.[7]
btree
1 | # change the number of elements and lookup requests |
XSBench
Programming Model: openmp-threading
This is the “default” version of XSBench that is appropriate for serial and multicore CPU architectures. The method of parallelism is via the OpenMP threading model.[8]
Silo (bug)
get silo here
安装 libaio-dev[9],手动安装 libdb4.8 从 Install libdb4.8 on Debian,编译
1 | $ make dbtest |
已在 silo repo 和 stackoverflow 提问,答复已采纳
The bug is that
operator<<is declared forstd::pairlater in theutil.hfile. That means lookup for<<fromformat_listcan’t find it. Normally lookup should find operator overloads via ADL regardless of declaration order at the point of instantiation, but for that to work the overload must be defined in a namespace scope associated with the argument types, i.e.stdhere, where the user is not allowed to place such an overload. This is a common mistake and happened to work for a long time on GCC because of a bug in the compiler’s lookup.
将 line 607 的操作符重载移至 format_list() 之前即可。
Results
环境配了足足三天,但最后只仓促进行了全位于容量层 (DCPMM-only) 的 baseline 实验,之后便出去实习了。有点可惜。
实验环境的 CPU 是 Xeon Silver 4314,比原文 Xeon Gold 5218 弱上不少,跑得也是肉眼可见的慢。
https://kubernetes.io/zh-cn/docs/concepts/architecture/cgroups/ ↩︎
https://juniorprincewang.github.io/2018/11/21/Linux内核kthread/ ↩︎
ANL-CESAR/XSBench: XSBench: The Monte Carlo Macroscopic Cross Section Lookup Benchmark ↩︎
MySQL Bugs: #86386: cmake can’t find libaio libraries not found during compilation. ↩︎





