Skip to main content

Introduction

PathFinder is a systematic, informative, and lightweight CXL.mem profiler. PathFinder leverages the capabilities of existing hardware performance monitors (PMUs) and dissects the CXL.mem protocol at adequate granularities.

Preparation

Check Kernel Version

Kernel version > 6.5.0

Getting Started

Install Dependencies

Required Python libraries are listed in requirements.txt

Detecting and Verifying PMU Topology

Run the following command:

    python3 analyse/detectTopo.py

This will automatically detect socket, CPU, and PMU topology
and write the configuration to the file analyse/archconf.conf.

You may also manually modify the contents of this configuration file.
Subsequent steps will use it to determine which PMUs to monitor along the CXL.mem path.

Next set the path of PathFinder and perf in this file:

    analyse/config.conf

Optional: Install InfluxDB to Record Data

Installing a database enables support for historical data analysis.
If you choose not to install one, online analysis of counter data is still available.

Once InfluxDB is running, set the address and port in the configuration file:

    analyse/config.conf