Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CPU profiling extension #3916

Open
kolesnikovae opened this issue Feb 14, 2025 · 0 comments
Open

CPU profiling extension #3916

kolesnikovae opened this issue Feb 14, 2025 · 0 comments
Labels
enhancement New feature or request

Comments

@kolesnikovae
Copy link
Collaborator

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.

@kolesnikovae kolesnikovae added the enhancement New feature or request label Feb 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant