前几天同事和同行去开了 CLK2025 大会,讲一些会上的内容。
来自华为的黄晓嘉和 vivo 的韩棋分别分享了针对 “阅后即焚 Pagecache” 的技术探索,核心都是解决 AI 场景下大文件加载的内存占用与效率问题。
华为聚焦 AI 模型文件加载的痛点 —— 耗时长、占用内存多,而模型权重数据无需长期留存于 page cache,“阅后即焚” 成为关键诉求。
基于这一需求,华为设计了 ModelFS,核心思路是将预取(prefetch)和内存回收过程变得可编程。
它允许在用户态注册预取和驱逐(evict)回调函数,支持用户自定义算法,让加载过程具备 NUMA 感知能力,还能根据 IO 模式灵活调整预取和回收策略。
另一边,vivo 的韩棋分享了在 F2FS 文件系统上支持 uncached buffer IO 的努力。这种 IO 方式的核心是 “阅后即焚”,避免了普通 buffer IO 中 folio 的 LRU 管理及回收开销。
与完全的 cached buffer IO 相比,uncached buffer IO 的 folio 自带 PG_dropbehind 标记,能绕开 LRU 队列和常规回收机制,实现 “用完即抛”;与 direct IO 相比,它的优势在于所有并发读写仍通过 page cache 同步。
和腾讯宋恺睿正在推进的 swap in 路径优化思路相似 —— 删除 sync IO 设备绕开 swapcache 的代码
...查看全文