Major Features: - Debug counter infrastructure for Refill Stage tracking - Free Pipeline counters (ss_local, ss_remote, tls_sll) - Diagnostic counters for early return analysis - Unified larson.sh benchmark runner with profiles - Phase 6-3 regression analysis documentation Bug Fixes: - Fix SuperSlab disabled by default (HAKMEM_TINY_USE_SUPERSLAB) - Fix profile variable naming consistency - Add .gitignore patterns for large files Performance: - Phase 6-3: 4.79 M ops/s (has OOM risk) - With SuperSlab: 3.13 M ops/s (+19% improvement) This is a clean repository without large log files. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
3.0 KiB
3.0 KiB
Implementation Status (2025-10-22)
このドキュメントは、「何が実装されているか」「どの設計と一致しているか」を整理します。
4軸(SACS‑3)の実装状況
| 軸 | 現状 | 備考 |
|---|---|---|
| しきい値(mmap/L1↔L2) | 2MiB固定(ホットパス) | ELOモジュールは実装済だがSACS‑3では未適用。将来 thp_threshold を離散探索で反映予定 |
| 器の数(サイズクラス数) | Mid: 固定5 + DYN1×1(手動/自動) | DYN1: HAKMEM_MID_DYN1 手動、HAKMEM_DYN1_AUTO=1 でピーク自動割当(実験的) |
| 器の形(境界・W_MAX) | 丸め許容W_MAX実装済 | HAKMEM_WMAX_MID/LARGE でA/B。DYN1は境界そのものを可変 |
| 器の量(CAP) | 学習済(別スレッド) | Soft CAPで補充強度制御。Mid/Large+DYN1専用CAP(学習対象) |
計画A: ページフォルト最適化(OPTIMIZATION_SUMMARY)
| Phase | 対象 | 状態 | 備考 |
|---|---|---|---|
| P0-1 | Whale Cache Pre‑Warm | 未実装 | Whale自体は実装済(容量/しきい値)が、pre‑warm手順は未実装 |
| P1-1 | L2 Pool Pre‑Warm | 未実装 | L2/L2.5はmmap-backedだが、事前ウォーム・ページタッチは未実装 |
| P2-1 | Tiny Slab Pre‑Warm | 未実装 | TinySlabのpre‑warm(採番/初期化)未実装 |
参考: vm/json/mir の短縮期待は、まずCAP/DYN1/W_MAX調整の効果を観測した後に検討。
計画B: スレッド安全性対策(PHASE_6.15)
| Phase | 対象 | 状態 | 備考 |
|---|---|---|---|
| Step 1 | ドキュメント修正 | 実施 | docs/* 整理済み |
| P0 | Global Safety Lock | 未実装 | 代わりに wrapperガード+TLS経路で安定化 |
| P1 | Tiny Pool TLS | 実装済 | TLS Active Slab + MPSC remote‑free + padded あり |
| P2 | L2 Pool TLS | 実装済 | freeはTLS返却(A/B: HAKMEM_POOL_TLS_FREE) |
| P3 | L2.5 Pool TLS | 実装済 | tls_l25_cache[] あり |
その他: non‑empty bitmap, padded locks, shard steal(Mid/L25)実装済。
最新の次ステップ(NEXT_STEPS_2025_10_22)
推奨順:
- Tiny改善(MPSC drain機会拡大、CAP適応)
- L2/L2.5 bundle policy(CAP/bundle/steal 微調整)
- Site‑bucket policy table(ACE)
現状の優先は「Mid/Large CAP/DYN1/W_MAX の整地・A/B」。
現在の代表的なA/Bパラメータ
- DYN1 CAP:
HAKMEM_CAP_MID_DYN1(32/64/128 pagesを候補) - Mid最小バンドル:
HAKMEM_POOL_MIN_BUNDLE=2/3/4 - WRAP L1許可:
HAKMEM_WRAP_L2=1,HAKMEM_WRAP_L25=1 - W_MAX:
HAKMEM_WMAX_MID=1.4/1.6/1.7
計測ノート/再現
- docs/benchmarks/2025-10-22_SWEEP_NOTES.md — 今日の要約(コマンド/抜粋)
- scripts/save_prof_sweep.sh — 日時フォルダに自動保存(summary.txt+各.log)
参照(設計/ENV)
- docs/specs/CURRENT_SPEC.md — 現在仕様(SACS‑3/学習)
- docs/specs/ENV_VARS.md — 環境変数一覧
- docs/roadmap/ROADMAP.md — 実装ロードマップ