Skip to content

Improve model caching and experimental distributed weight access - #1

Merged
whjthu merged 29 commits into
masterfrom
improve-model-cache
Oct 27, 2026
Merged

whjthu merged 29 commits into
masterfrom
improve-model-cache

Conversation

@whjthu

@whjthu whjthu commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

背景与目标

在现有 memfd 模型文件缓存基础上,完善重复加载、并发预热、异常退出和缓存回收场景下的可靠性与日常使用体验。

核心目标仍是让模型文件加载一次、被后续进程可靠复用。模型计算和请求调度由消费者承担,分布式张量与专家驻留接口保持可选、实验性定位。

设计思路

  • 核心保留标准库依赖和文件目录接口,通过 sealed memfd 提供不可修改的权重快照。
  • 使用不可变磁盘代际、进程身份与文件所有权校验、使用期租约,管理缓存发布、复用和回收。
  • 将格式、布局、参数解析和补全规则集中维护,减少不同入口之间的行为分歧。
  • 实验接口采用显式 TP/PP 布局,不隐式推断生产模型的并行语义。

主要改动

  • 文件驻留与故障恢复:增加 memfd sealing、源变化检测和中断清理;完善 PID/socket 所有权验证、原子发布、退出清理与重启恢复,修复已释放临时 socket 名称被复用后的错误归属判断。
  • 磁盘缓存与回收:引入带 SHA-256 校验的不可变缓存代际、刷新与验证命令;通过租约保护读者,回收前重新检查访问时间,避免按过期 TTL/LRU 快照删除刚使用的缓存。
  • 内存预算:支持宿主机及 cgroup 限制、单缓存上限和共享驻留配额;按已完成文件抵扣 pending headroom,避免重复扣减。
  • 命令行与使用体验:增加租约保护的 run、verify/gc/doctor 等能力;统一绝对路径和自定义 socket,完善信号转发、退出码及 nohup 兼容,明确准备阶段与 daemon 等待超时的边界;补全由参数解析器生成。
  • 实验性权重接口:增加严格 safetensors 校验、显式 TP/PP 分片及流式导出、基于 sealed CPU 权重的 COW TensorStore,以及带容量限制、租约和跨 stream 完成保护的 GPU 专家池;提供 CPU 回退与参考 MLP/MoE 示例。
  • 测试与文档:补充真实子进程、故障注入、并发交错和数值回归;整理中英文 README、操作指南、贡献指南与实验接口边界,将历史测量资料归档。

whjthu added 29 commits October 26, 2026 20:53
@whjthu
whjthu merged commit 205147f into master Oct 27, 2026
24 checks passed
@whjthu
whjthu deleted the improve-model-cache branch October 27, 2026 03:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant