Computer Architecture · All levels
Performance Counters and Telemetry — Debug Playbook
Debug Playbook for Performance Counters and Telemetry (Performance Analysis).
On-call / interview prompt
Counter A says memory-bound, counter B says backend-idle. How do you resolve the conflict?
ARCHITECTURE ANALYSIS CHAIN
1. METRIC — IPC, CPI, MPKI, bandwidth, latency, queue depth, stall cycles
2. HYPOTHESIS — microarch or system cause ordered by likelihood
3. EXPERIMENT — trace, PMU counter, simulation, or RTL probe
4. CHANGE — pipeline, cache, NoC, or memory hierarchy adjustment
5. VALIDATION — workload replay, regression suite, PPA impactReference workflow
1. Lock workload revision, run window, DVFS state, and collection method.
2. Check event aliasing, overflow behavior, and denominator definitions.
3. Cross-correlate with trace slices and known microbenchmark signatures.
4. Remove counters that fail consistency checks under controlled replay.
5. Publish a revised attribution map with confidence levels.Mechanism to narrate
Separate symptom from root cause
Fix systematic clusters before one-offs
Common pitfalls
Random optimization without metric
Skipping regression after local fix
Staff-level debug discipline
For Performance Counters and Telemetry, senior debug is branch-and-bound: reduce the search space quickly, keep experiments reversible, and avoid hiding a systematic issue behind one local fix.
Debug decision tree
Reproduce the failure with the same workload, model tag, seed, and counter setup.
Classify the failure as workload issue, model issue, microarchitecture issue, software issue, implementation issue, or true product limitation.
Run one cheap experiment that can falsify the leading hypothesis.
Prefer a fix that improves a cluster over one that only hides the worst line.
After the fix, re-check Counter integrity and stall attribution dashboard and the likely regression surface: RTL changes, compiler strategy, firmware scheduler tuning, and KPI commitments..
Escalation triggers
The failure crosses architecture, RTL, verification, software, PD, or product ownership.
The proposed fix consumes area, power, latency, or verification margin needed elsewhere.
The issue repeats across workloads or blocks, suggesting methodology or model root cause.
The remaining risk is silicon-facing: Bad counter trust can send teams toward expensive but irrelevant optimizations..
Debug branch diagram
VISUAL MODEL — Performance Analysis / Performance Counters and Telemetry
workload / trace
│
▼
metric symptom (Counter integrity and stall attribution dashboard)
│
▼
likely microarchitectural mechanism
│
┌───────┼────────┐
▼ ▼ ▼
pipeline memory fabric/coherency
stalls misses queues / ordering
│ │ │
└───────┼────────┘
▼
bounded design change
│
▼
validation workload + PPA regressionTradeoff matrix
TRADEOFF MATRIX — Performance Counters and Telemetry
+----------------------+----------------------+----------------------+----------------------+
| Option | Helps | Can hurt | Validation needed |
+----------------------+----------------------+----------------------+----------------------+
| Larger / wider block | peak perf, miss rate | area, power, timing | workload sweep |
| Smarter policy | hit rate, QoS, IPC | verification risk | corner cases + PMU |
| More buffering | latency tails, stalls| deadlock, leakage | stress traffic tests |
| Software contract | locality, ordering | portability, APIs | production workload |
+----------------------+----------------------+----------------------+----------------------+
Senior rule: pick the smallest change that proves or disproves the mechanism.Architecture deep dive
PMU evidence beats intuition for architecture decisions.
Concept diagram
TOP-DOWN PERFORMANCE METHOD
Total cycles
├─ Retiring useful work
├─ Frontend bound
├─ Bad speculation
├─ Backend core bound
└─ Backend memory bound
Only after classification should you propose cache, branch, pipeline, or NoC changes.Metric graph
ROOFLINE SKETCH
Performance
^
| compute roof
|-------------------------------
| /
| /
| / ● workload A (compute-bound)
| /
| ● workload B (memory-bound)
+---------------------------------> arithmetic intensity
memory bandwidth slopeMetrics and artifacts
PMU event sets
roofline chart
top-down stall breakdown
workload sensitivity matrix
Mini case study
Team proposed wider SIMD but roofline showed memory-bound kernel — bandwidth upgrade and locality fix delivered 2× speedup at lower area cost.
Debug branches
If counters disagree with sim, align workload and warmup.
If bottleneck unclear, use top-down method before microarch tweaks.
Senior review question
Ask: what single metric would prove this concept is working or failing on your workload?
Key takeaways
Connect every architecture claim to a workload and measurable metric.
State verification and PPA impact before proposing design changes.
Common pitfalls
Feature-driven design without MPKI/IPC/bandwidth evidence.
Ignoring coherency and NoC traffic in cache and accelerator sizing.
Study notes
Re-read this topic with one concrete workload.