60 lines
3.0 KiB
Markdown
60 lines
3.0 KiB
Markdown
|
|
# 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)
|
|||
|
|
|
|||
|
|
推奨順:
|
|||
|
|
1. Tiny改善(MPSC drain機会拡大、CAP適応)
|
|||
|
|
2. L2/L2.5 bundle policy(CAP/bundle/steal 微調整)
|
|||
|
|
3. 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 — 実装ロードマップ
|
|||
|
|
|