Software Tuning, Performance Optimization & Platform Monitoring
Discussion regarding monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform updating.
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.

MLC on AppDirect KMEM-DAX and FS-DAX modes


Currently, we use the following options in Intel Memory Latency Checker (MLC) for measuring local/remote sequential access bandwidth:

./mlc --loaded_latency -d0 -k1-47 -j3

The platform we have access to has 4 sockets, each socket has 48 cores. We would use -j0 instead of -j3 if we want to measure local b/w; additionally, we add “-U” to the above options for measuring local/remote random-access bandwidth. Our experimental platform also has about 1.5T of Optane DCPMM per socket, and a total DDR memory of 768G.

Above would work for Optane AppDirect (only using DRAM) and Memory modes; my question is:

In MLC, is there a way to specify memory to be initialized in PMEM of a NUMA node, in AppDirect KMEM-DAX and FS-DAX modes? 

0 Kudos
1 Reply

It is possible to measure bandwidth and latency for persistent memory using MLC. However, you need to a create a config file to describe the setup.

For example, create a file named mlc_1s_1pmem.cfg with content:

0-23 R seq 300000 pmem /mnt/pmem1

Then run MLC with command:

mlc --loaded_latency -T -d0 -t10 -omlc_1s_1pmem.cfg

This will measure the bandwidth for 24 threads (running on cores 0 to 23) for sequential read-only traffic coming from the app-direct memory mounted a /mnt/pmem1.
For details on the configuration file, please see the README file included in the MLC package.