CGCL-codes / HME

HME a hybrid memory emulator for studying the performance and energy characteristics of upcoming NVM technologies. HME exploits features available in commodity NUMA architectures to emulate two kinds of memories: fast, local DRAM, and slower, remote NVM on other NUMA nodes. HME can emulates a wide range of NVM latencies and bandwidth by injecting different memory access delay on the remote NUMA nodes. To facilitate programmers and researchers in evaluating the impact of NVM on the application performance, a high-level programming interface is also provided to allocate memory from NVM or DRAM nodes.
49 stars 18 forks source link

kernel version #6

Open Yemaoxin opened 1 year ago

Yemaoxin commented 1 year ago

HME can only support kernel version 3.11, but the kernel version of our server is relatively high, so the compilation cannot pass

Gumi-presentation-by-Dzh commented 1 year ago

The HME project is divided into the HME simulator part and the AHME kernel and glibc library. the HME simulator only depends on perf and PMU events, so the PMU event code will not change if the hardware is the same, if you use another processor platform, please use perf event to get the event code corresponding to PMU events. AHME is a hardened kernel-based implementation whose work itself uses 3.11.0 in order to support early-period pmfs, and for which we do not maintain subsequent kernel versions of the implementation, given that its work itself is a 2018 implementation. The kernel functions and implementations we have modified should be found in the paper, and in the kernel code commit. If this modification is still relatively difficult, the function numa_alloc_onnode in libnuma can be used instead, but it introduces additional overhead in terms of allocation amplification and performance compared to AHME.