论文复现 - Memtis(二)
实验复现
Memtis - ASPLOS’23
前置 | Linux
Benchmarks
gapbs
对 benchmark/bench.mk 做少许修改,手动下载解压。[5]
liblinear
2.45 没有了,现版本 2.47。对
graph500
3.0.0 和 vmitosis-workloads/graph500 均无法使用,单独安装了 2.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::pair
later in theutil.h
file. That means lookup for<<
fromformat_list
can’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.std
here, 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 实验,之后便出去实习了。有点可惜。
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. ↩︎