面向异构存储系统的大语言模型智能体自动调参(arXiv 2025)
原题:StorageXTuner: An LLM Agent-Driven Automatic Tuning Framework for Heterogeneous Storage Systems
一句话总结:StorageXTuner 用执行、指标提取、树搜索和经验反思四个智能体闭合“配置—基准—摘要—再搜索”,并把反复得到验证的自然语言规律晋升为长期记忆;在 RocksDB、CacheLib 和 MySQL InnoDB 上相对强调参基线最高提高吞吐 111%、降低 P99 延迟 56%,但结果来自单机受控基准,尚未证明经验可跨硬件与生产漂移可靠迁移。
问题与动机
存储系统的配置空间大、参数耦合强,并随工作负载、版本和硬件变化。传统启发式与学习型调参器往往绑定某个系统或训练分布;早期大语言模型调参方法又多为单轮建议,会重复测试相似配置,也不会把过去试验压缩为可复用知识。
StorageXTuner 的目标是统一调优不同存储引擎的配置参数,不生成新的存储实现,也不处理查询改写、索引设计或在线无扰动切换。
关键观察 / 隐含假设
- 观察 1:多轮、聚焦的搜索优于单次大提示。 在相同输入信息下,树搜索减少重复配置并更快达到目标性能(§2.3,表 1)。
- 依赖假设:配置空间具有可沿历史最优节点继续探索的局部结构。
- 观察 2:少数可审计经验主导搜索。 将试验差异归纳为自然语言规律,并用后续基准上调或下调置信度,可跨轮次减少冷启动(§3.5、§5)。
- 依赖假设:规律的适用条件能被工作负载与硬件摘要充分表达,不会跨环境误用。
- 观察 3:生成新配置是主要错误源。 版本不兼容、枚举拼写和单位或资源预算错误比修改已有值更常见;预执行 schema 与预算检查比事后修复更有效(§4.4、§5)。
- 假设 1:受控基准反馈足以代表部署目标。 系统按吞吐或尾延迟选择配置,但未同时优化耐久性、恢复、能耗和长期磨损。
- 证据强度:中。公开基准覆盖三类引擎,却没有生产轨迹或长期运行。
核心方法
执行智能体在 Docker 与 cgroup 中应用候选配置、生成负载并收集日志和指标;提取智能体生成 Python 解析脚本,若执行失败或指标超过硬件上限便修正,最终可退回人工解析器(§3.3,图 2)。
搜索智能体把已测配置组织成树,依据当前节点、资源约束、工作负载摘要和经验选择子节点。反思智能体从父子节点的配置与性能差异提炼规律;短期记忆中的规律只有在更多试验中得到支持才进入长期记忆,矛盾证据会降低其置信度(§3.4–3.5,图 3–6)。
设计取舍
- 自然语言经验而非数值代理模型:易审计、易跨系统,但置信度更新仍由模型解释,缺少统计校准。
- 树搜索而非平坦随机搜索:提高样本效率,却可能围绕早期错误节点局部收敛。
- 沙箱基准而非线上试错:安全且可重复,但忽略真实并发、缓存热度和业务波动。
- 边界条件:适合有稳定基准、配置 schema 和可重启沙箱的系统;不适合不能离线重放或一次错误配置代价极高的服务。
实验与结果
- 单台 i9-10920X、32 GB 内存、NVMe SSD;默认限制为 2 核、4 GB 内存和 4 GB swap,结果至少重复三次(§4.2)。
- RocksDB 的 YCSB 中,相对 ELMo-Tune 最高提高吞吐 111%、降低 P99 延迟 56%;MixGraph 中相对各基线最高提高吞吐 575%、降低延迟 88%(§4.3,图 7)。
- CacheLib 三种读写比例下,相对默认配置吞吐最高提高 26%、命中率最高提高 3.1 个百分点(图 8)。
- MySQL InnoDB 的 TPC-C 中相对默认吞吐最高提高 709%、相对大语言模型单轮基线提高 29%、相对 λ-Tune 提高超过 15%;TPC-H 延迟由 8.9 秒降至 2.5 秒(图 9)。
- 达到峰值 95% 所需词元为 56K,单轮模型基线为 214K;消融中完整验证把无效配置率由 10% 降为 0,同时吞吐约保持 246K ops/s(表 3、图 10)。
论断—证据表
| 论断 | 证据 | 评测边界 | 置信度 |
|---|---|---|---|
| 闭环经验搜索优于现有大语言模型调参器 | §4.3、图 7:YCSB 吞吐最高 +111%、P99 -56% | 单机、固定资源、公开基准 | 中到强 |
| 框架可跨多类存储引擎 | 图 7–9:RocksDB、CacheLib、InnoDB 均有提升 | 各系统的参数和指标不同;无统一强基线 | 中 |
| 记忆与验证提高效率和有效率 | 表 3、图 10:56K 对 214K;无效配置 10%→0 | 单一 RocksDB 消融 | 强 |
| 经验可跨生产环境可靠迁移 | §5 的经验总结 | 无生产轨迹或跨硬件留出测试 | 弱 |
批判性分析
论证链条
系统把配置生成、执行、指标解析和经验更新逐层闭合,消融也显示工作负载、硬件、树搜索、静态经验、动态经验和验证依次降低错误。最大不确定性是“跨系统知识”:论文证明框架能分别调三个系统,没有严格证明一套历史经验在未见系统上带来正迁移。
假设压力测试
所有主结果来自离线、固定资源和相对短的基准。缓存热度、压缩回收、后台 compaction、数据增长和故障恢复可能在数小时或数天后反转短期最优配置。不同目标之间也可能冲突,例如吞吐提高但写放大、耐久性或 P99.9 恶化。
实验可信度
系统和工作负载跨度大,且给出学习型、启发式与大语言模型基线。若某些默认配置明显不适配 2 核/4 GB 约束,相对默认的 575% 或 709% 会显得很大;相对强基线的 15%–111% 更有解释力。
系统性缺陷
配置应用可能要求重启并影响可用性,论文未报告部署事务、回滚时间和状态恢复。模型生成的指标解析脚本即便数值在合理范围内也可能语义错误。长期记忆需要记录版本、硬件和工作负载适用域,否则高置信度旧经验可能造成系统性负迁移。
局限与后续工作
- 局限 1:单机合成或标准基准,缺少在线负载漂移和长期稳定性。
- 局限 2:经验置信度由大语言模型上调或下调,没有统计覆盖率或因果保证。
- 后续工作 1:在跨硬件、跨版本和隐藏生产轨迹上测量经验迁移的正负收益,并以适用域标签约束复用。
- 后续工作 2:加入事务化配置发布、自动回滚和多目标约束,报告调参期间的服务中断与风险预算。
相关
- 相关概念:LLM、Configuration-Testing
- 同类系统:IDSTune-arXiv26、D-Bot-PVLDB24、SchedCP-arXiv25
- 外部来源:arXiv