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.
48 stars 18 forks source link

confused about how to use the simulator #3

Open bueryg opened 5 years ago

bueryg commented 5 years ago

In the compiling part of this tutorial, it simply says using runenv.sh to run your command. So I don't quite understand how to use it. Could you please explain it more accurately?

Gumi-presentation-by-Dzh commented 5 years ago

There are two ways to use HME: using HME (hybird memory emulator) with AHME (hybrid memory allocator based on Glibc) and using HME without AHME(with libnuma or numa policy).

Check which way you want to use HME and make sure that HME( or AHME) has been compiled successfully.

We already have an example about how to use HME: [root @node1 scripts]# sh runenv.sh runspec --config=Example-linux64-amd64-gcc43.cfg --noreportable --iteration=1 433.milc

In this example, sh runenv.sh is the HME start shell script and runspec --config=Example-linux64-amd64-gcc43.cfg --noreportable --iteration=1 433.milc is the application which you want emulated.

For another easy example, sh runenv.sh ls.

If you want see more the detail about how HME starts, check the code in runenv.sh.