Files
hakmem/docs/status/archive/IMPLEMENTATION_STATUS_2025_10_22.md

60 lines
3.0 KiB
Markdown
Raw Normal View History

# Implementation Status (2025-10-22)
このドキュメントは、「何が実装されているか」「どの設計と一致しているか」を整理します。
## 4軸SACS3の実装状況
| 軸 | 現状 | 備考 |
|---|---|---|
| しきい値mmap/L1↔L2 | 2MiB固定ホットパス | ELOモジュールは実装済だがSACS3では未適用。将来 `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/LargeDYN1専用CAP学習対象 |
## 計画A: ページフォルト最適化OPTIMIZATION_SUMMARY
| Phase | 対象 | 状態 | 備考 |
|---|---|---|---|
| P0-1 | Whale Cache PreWarm | 未実装 | Whale自体は実装済容量/しきい値が、prewarm手順は未実装 |
| P1-1 | L2 Pool PreWarm | 未実装 | L2/L2.5はmmap-backedだが、事前ウォーム・ページタッチは未実装 |
| P2-1 | Tiny Slab PreWarm | 未実装 | TinySlabのprewarm採番/初期化)未実装 |
参考: 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 remotefree + padded あり |
| P2 | L2 Pool TLS | 実装済 | freeはTLS返却A/B: `HAKMEM_POOL_TLS_FREE`|
| P3 | L2.5 Pool TLS | 実装済 | `tls_l25_cache[]` あり |
その他: nonempty bitmap, padded locks, shard stealMid/L25実装済。
## 最新の次ステップNEXT_STEPS_2025_10_22
推奨順:
1. Tiny改善MPSC drain機会拡大、CAP適応
2. L2/L2.5 bundle policyCAP/bundle/steal 微調整)
3. Sitebucket policy tableACE
現状の優先は「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 — 現在仕様SACS3/学習)
- docs/specs/ENV_VARS.md — 環境変数一覧
- docs/roadmap/ROADMAP.md — 実装ロードマップ