Phase 67a: Layout tax forensics foundation (SSOT + measurement box)

Changes:
- scripts/box/layout_tax_forensics_box.sh: New measurement harness
  * Baseline vs treatment 10-run throughput comparison
  * Automated perf stat collection (cycles, IPC, branches, misses, TLB)
  * Binary metadata (size, section info)
  * Output to results/layout_tax_forensics/

- docs/analysis/PHASE67A_LAYOUT_TAX_FORENSICS_SSOT.md: Diagnostic reference
  * Decision tree: GO/NEUTRAL/NO-GO classification
  * Symptom→root-cause mapping (IPC/branch-miss/dTLB/cache-miss)
  * Phase 64 case study analysis (IPC 2.05→1.98)
  * Operational guidelines for Phase 67b+ optimizations

- CURRENT_TASK.md: Phase 67a marked complete, operational

Outcome:
- Layout tax diagnosis now reproducible in single measurement pass
- Enables fast GO/NO-GO decision for future code removal/reordering attempts
- Foundation for M2 (55% target) structural exploration without regression risk

🤖 Generated with Claude Code

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
Moe Charm (CI)
2025-12-17 21:09:42 +09:00
parent 84f5034e45
commit b2e861db12
3 changed files with 432 additions and 8 deletions

View File

@ -31,14 +31,32 @@
---
**Phase 67a(推奨): layout tax 法医学調査**
**Phase 67a: Layout Tax 法医学(変更最小)****完了・実運用可能**
- **狙い**: Phase 64 NO-GO (-4.05%) の根本原因を「再現可能な手順」に固定
- **やること**: perf stat (cycles/IPC/branch-miss/cache-miss/iTLB) を差分テンプレ化 → docs に添付
- Binary diff: Phase 66 baseline vs Phase 64 attempt
- perf drill-down: Hot function の IPC drop / branch miss rate 増加を定量化
- 実装変更なし(法医学ドキュメント化のみ)
- **成果物**: `docs/analysis/PHASE67A_LAYOUT_TAX_FORENSICS_RESULTS.md`
- `scripts/box/layout_tax_forensics_box.sh` 新規(測定ハーネス)
- Baseline vs Treatment の 10-run throughput 比較
- perf stat 自動収集cycles, IPC, branches, branch-misses, cache-misses, iTLB/dTLB
- Binary metadataサイズ、セクション構成
- `docs/analysis/PHASE67A_LAYOUT_TAX_FORENSICS_SSOT.md` 新規(診断ガイド)
- 判定ルール: GO (+1% 以上) / NEUTRAL (±1%) / NO-GO (-1% 以下)
- "症状→原因候補" マッピング表
* IPC 低下 3%↑ → I-cache miss / code layout dispersal
* branch-misses ↑10%↑ → branch prediction penalty
* dTLB-misses ↑100%↑ → data layout fragmentation
- Phase 64 case study-4.05% の root cause: IPC 2.05 → 1.98
- 運用ガイドライン
**使用例**:
```bash
./scripts/box/layout_tax_forensics_box.sh \
./bench_random_mixed_hakmem_minimal_pgo \
./bench_random_mixed_hakmem_fast_pruned # or Phase 64 attempt
```
成果: 「削る系」NO-GO が出た時に、どの指標が悪化しているかを **1回で診断可能** → 以後の link-out/大削除を事前に止められる
---
**Phase 67b後続: 境界inline/unrollチューニング**
- **注意**: layout tax リスク高いPhase 64 reference
@ -49,7 +67,7 @@
**M2 への道 (55% target)**:
- PGO はもう +1% 程度の改善上限に達した可能性profile training set 枯渇)
- 次のレバーは: (1) layout tax 排除 / (2) structural changesbox design / (3) compiler flags tuning
- 次のレバーは: (1) layout tax 排除 (Phase 67a の基盤で調査可能) / (2) structural changesbox design / (3) compiler flags tuning
## 3) アーカイブ