Skip to main content

What is PathFinder?

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. Our key idea is to view the server processor and its chipset as a multi-stage Clos network, equip each architectural module with a PMU-based telemetry engine, track different CXL.mem paths, and apply conventional traffic analysis techniques. PathFinder performs snapshot-based path-driven profiling and introduces four techniques, i.e., path construction, stall cycle breakdown, interference analyzer, and cross-snapshot analysis.

End-to-end

End-to-end

PathFinder provide adequate running statistics about all application-induced CXL.mem data paths and analyze how CXL memory accesses impact the processor pipeline, cache hierarchy, and FlexBus I/O.

Profiling Rich

Profiling Rich

PathFinder report multifaceted execution telemetry, including stall cycle, queueing occupancy, and data locality, at a given epoch, based on the profiling specification.

Lightweight

Lightweight

CXL.mem transactions run at nanosecond granularity across tens of GB to several TB address spaces. PathFinder incurs minimal system overheads with a marginal impact on the profiled applications.

Components

PFBuilder

Constructing the CXL data path map via carefully synthesizing a slew of PMU counters.

PFEstimator

Employs a back-propagation algorithm that gradually attributes the CXL-induced stall cycles in a bottom-up fashion to the CPU pipeline.

PFAnalyzer

Zooming each architectural component via white-box modeling and exploring how concurrent CXL and non-CXL streams interfere with each other.

PFMaterializer

Introduces an internal time-series database, takes a per-snapshot digest as inputs, and identifies consistent execution characteristics, such as data locality, contention, and resource under-utilization.