You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the world of high-performance systems, ensuring that CPU resources are allocated efficiently is crucial for achieving optimal performance.
However, mismatched CPU allocations, such as discrepancies in CPU capabilities between instances, cross-NUMA scheduling, or excessive core-sharing, can significantly degrade system performance and lead to complex, hard-to-diagnose issues.
To help users identify and mitigate these problems, I propose adding a CPU Allocation Analysis feature to Pyroscope.
The implementation mostly relies on the attribution we can identify in profilers. The basic attributes we may need to collect include:
CPU model and stepping, ISA architecture
Instance type (in cloud environments)
Whether cross-NUMA scheduling occurs
Even attaching these basic attributes as profile labels can greatly help in investigating issues.
More advanced scenarios involve PMU analysis; for example, we could try to attribute cache misses to specific factors such as patterns in neighborship or hyper-threading contention.
A UI extension may follow to enhance usability.
The text was updated successfully, but these errors were encountered:
In the world of high-performance systems, ensuring that CPU resources are allocated efficiently is crucial for achieving optimal performance.
However, mismatched CPU allocations, such as discrepancies in CPU capabilities between instances, cross-NUMA scheduling, or excessive core-sharing, can significantly degrade system performance and lead to complex, hard-to-diagnose issues.
To help users identify and mitigate these problems, I propose adding a CPU Allocation Analysis feature to Pyroscope.
The implementation mostly relies on the attribution we can identify in profilers. The basic attributes we may need to collect include:
Even attaching these basic attributes as profile labels can greatly help in investigating issues.
More advanced scenarios involve PMU analysis; for example, we could try to attribute cache misses to specific factors such as patterns in neighborship or hyper-threading contention.
A UI extension may follow to enhance usability.
The text was updated successfully, but these errors were encountered: