[Paper] Konflux:优化函数融合用于无服务器应用

发布: (2026年1月16日 GMT+8 18:16)
6 min read
原文: arXiv

Source: arXiv - 2601.11156v1

概述

论文 “Konflux: Optimized Function Fusion for Serverless Applications” 解决了在 Function‑as‑a‑Service(FaaS)平台上构建应用时的一个实际痛点:决定 哪些 函数捆绑在一起以降低成本和延迟。通过引入一个轻量级模拟器,能够在本地评估 每一种 可能的融合布局,作者展示了开发者如何避免在真实云环境中进行代价高昂的试错。

关键贡献

  • 全覆盖融合分析 – 系统枚举并评估给定无服务器工作流的所有可能函数融合配置。
  • Konflux 仿真器 – 跨平台、低开销的本地运行时,模拟真实 FaaS 服务的性能和计费行为。
  • Pareto 最优融合集合 – 实证表明只有一小部分配置在成本‑延迟权衡上占优势,显著简化决策空间。
  • 计费模型敏感性研究 – 展示不同云提供商的计费方案(按调用次数、内存‑秒、冷启动惩罚)如何影响最优融合选择。

方法论

  1. 对应用图建模 – 将无服务器应用表示为有向无环图(DAG),其中节点是函数,边是数据/控制依赖。
  2. 生成融合候选 – 通过组合枚举得到所有合并相邻节点的方式,且遵循 DAG 的拓扑顺序(例如 f1+f2f2+f3f1+f2+f3 等)。
  3. 模拟 FaaS 平台 – Konflux 在本地容器中运行融合后的函数,复现:
    • 冷启动延迟(可配置的镜像大小和内存)
    • 执行时间(从原始函数代码测量)
    • 计费语义(内存‑秒、基于请求的费用、网络出口)
  4. 对每种配置进行基准测试 – 仿真器记录总延迟(包括融合内部开销)以及在多种计费模型下的估算成本。
  5. 帕累托分析 – 保留在成本和延迟两方面都不严格劣于其他配置的方案,形成最优前沿。

整个流水线在开发者笔记本上即可在几分钟内完成,而真实云端测试往往需要数小时甚至数天。

结果与发现

应用(示例)函数数量融合配置数最低延迟配置最低成本配置Pareto 大小
图像处理流水线552融合全部 5 个(单容器)保持函数分离3
事件驱动 ETL7429融合热点路径(3 个函数)融合冷路径(2 个函数)4
IoT 数据聚合器415融合相邻的 2 个函数不进行融合2

关键要点

  • 每个应用的 Pareto 前沿仅包含 2–5 种配置,即使可能的组合呈指数级增长。
  • 计费模型很关键:在按调用计费的模型下,融合多个函数可以减少请求费用,往往是最优方案;而在按内存‑秒计费的模型下,较大捆绑包带来的额外内存开销可能使小规模融合更便宜。
  • 冷启动时间的降低是延迟提升的主要因素;合并共享冷启动惩罚的函数能够获得最大的加速效果。

Practical Implications

  • Rapid “what‑if” testing – 开发者可以在本地迭代融合决策,而无需产生云费用,自然融入 CI 流水线。
  • Cost‑aware deployment tooling – Konflux 的仿真器可以集成到无服务器框架(如 Serverless、SAM、Pulumi)中,在推送前自动建议最佳融合布局。
  • Vendor‑agnostic optimization – 由于仿真器抽象了定价规则,团队可以比较 AWS Lambda、Azure Functions、Google Cloud Run‑on‑GKE 等,并为特定工作负载选择最佳提供商。
  • Simplified architecture – 了解只有少数配置是关键,使架构师能够专注于代码模块化和可观测性,而不是进行繁复的性能测试。

限制与未来工作

  • 仅静态分析 – 假设执行时间确定性;具有高方差的工作负载(例如机器学习推理)可能需要运行时分析。
  • 忽略资源约束 – 在仿真过程中未强制每个函数的内存/CPU 限制,这可能影响在实际平台上的可行性。
  • 网络效应简化 – 函数间数据传输成本为近似估计;真实的 VPC 或跨区域流量可能会改变最优前沿。
  • 作者提出的未来方向:将 Konflux 扩展以处理动态伸缩策略,加入实时遥测用于自适应融合,并评估多租户场景下共享资源对冷启动行为的影响。

作者

  • Niklas Kowallik
  • Trever Schirmer
  • David Bermbach

论文信息

  • arXiv ID: 2601.11156v1
  • 类别: cs.DC
  • 出版时间: 2026年1月16日
  • PDF: 下载 PDF
Back to Blog

相关文章

阅读更多 »

[Paper] 缓解 Edge AI 系统中的 GIL 瓶颈

在资源受限的边缘设备上部署基于 Python 的 AI 代理会面临运行时优化的挑战:需要大量线程来掩盖 I/O 延迟,但 Python 的 Global Interpreter Lock(GIL)阻止了真正的并行执行,导致 CPU 利用率不佳。为了解决这一问题,我们提出了一种混合执行模型,结合多进程(multi-process)和多线程(multi-threading)策略:对 CPU 密集型任务使用 Python 的 multiprocessing,对 I/O 密集型操作则在独立线程中使用异步 I/O(asynchronous I/O)。这种方式能够绕过 GIL 处理计算密集型工作负载,并高效地将 I/O 与计算重叠,从而在受限硬件上提升整体吞吐量。我们在 Raspberry Pi 4 上部署了实时目标检测流水线(object detection pipeline),实验表明该模型相较于纯多线程实现实现了 2.5 倍的加速,同时保持了低内存开销。