摘要:FaaS (function-as-a-service, 函数即服务)工作流由多个函数服务编排而成, 通过对多个函数的协调控制来实现复杂的业务应用. 当前FaaS工作流系统主要基于集中式的数据存储实现函数间的数据传递, 导致FaaS函数间的数据传输开销大, 显著影响应用性能. 在高并发情况下, 频繁的数据传输还会产生严重的网络带宽资源争用, 导致应用性能下降. 针对上述问题, 基于函数服务间的细粒度数据依赖分析, 提出一种基于关键路径的函数部署优化方法, 设计了依赖敏感的数据存取与管理机制, 有效减少函数间数据传输, 从而降低FaaS工作流应用执行的数据传输时延和端到端时延. 设计实现了FaaS工作流系统FineFlow, 并基于5个真实FaaS工作流应用开展实验评估. 实验结果表明, 相比于基于集中式数据存储函数交互机制的FaaS工作流平台, FineFlow能够有效降低FaaS工作流应用的数据传输时延: 最高降低74.6%, 平均降低63.8%; 平均降低应用端到端执行时延19.6%. 特别地, 对于具有明显细粒度数据依赖的FaaS工作流应用, 相比于现有的基于数据本地性的优化方法, FineFlow能够使数据传输时延和端到端时延进一步分别降低28.4%和13.8%. 此外, FineFlow通过减少跨节点的数据传输, 能够有效缓解网络带宽波动对FaaS工作流执行性能的影响, 提升应用性能受网络带宽影响的鲁棒性.