Skip to content

Conversation

@uncleDecart
Copy link
Member

@uncleDecart uncleDecart commented Nov 14, 2025

Summary

This PR introduces a reworked version of the original 48-hour benchmark to better align with our system’s CPU isolation model and Intel CAT best practices. The goal is to produce accurate, reproducible results while avoiding MSR-level interactions that may negatively affect performance.

Background & Motivation

The previously shared 48-hour benchmark appeared to be optimized for a specific use-case that does not fully align with our environment:

  1. Core selection mismatch
    The original test setup uses the first four online cores as noisy neighbors, implying that the test core must be core #4. This contradicts our ECI bootstrap scripts, which isolate cores 1 and 3 (even though we apply a custom GRUB command line). This misalignment explains inconsistencies observed in our benchmark results.
  2. Direct MSR usage
    The original implementation interfaces with MSRs directly. Intel’s libpqos documentation discourages explicit MSR manipulation and recommends relying on the RDT APIs instead. Direct MSR access can unintentionally influence performance measurements.

What This PR Changes

  • Rewrites the 48-hour benchmark to use rdtset
  • Both pqos and rdtset rely on the same underlying Intel CAT/RDT library.
  • Replacing manual MSR handling with rdtset ensures proper abstraction, reduces implementation risk, and aligns with recommended practices.

Introduces two controlled experiment layouts to evaluate the performance impact of Intel CAT:

  • Single COS with 3 non-isolated + 1 isolated core on the same NUMA node.
  • Separate COS dedicated solely to the isolated core, on which caterpillar and cyclictest are executed.

These experiments allow us to more clearly quantify Intel CAT’s influence on real-time workloads under different resource-allocation configurations.

Expected Outcome

This redesigned benchmark provides a more accurate and representative evaluation of CAT behavior in our environment, reduces low-level MSR side effects, and supports future reproducible experimentation.

Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
Signed-off-by: Pavel Abramov <uncle.decart@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants