【论文】略读笔记61-前沿-复杂拓扑并行配置调整

【论文】略读笔记61-前沿-复杂拓扑并行配置调整

Fre5h1nd Lv5

📖《Astrea: Auto-Serverless Analytics towards Cost-Efficiency and QoS-Awareness》

2022 年发表于 CCF-A 类期刊 TPDS。

🎯需求

  • 无服务器计算能够通过一键上传和轻量级执行来简化代码部署,已成为一种前景广阔的范式,越来越受欢迎。
    • 无服务器计算因其轻量级运行时、易于管理、高弹性和精细计费等引人注目的特性而广受欢迎。借助无服务器架构,在云计算中实现功能即服务 (FaaS),开发人员可以只专注于逻辑,无需配置环境、管理虚拟机 (VM) 集群和为 VM 实例付费,即使它们处于空闲状态。Amazon Lambda、Google Cloud Functions 和 Microsoft Azure Functions 等云提供商已经部署了这种有利的计算模式,并广泛用于实时视频编码、物联网应用程序、交互式数据分析等应用。

🚧现状

  • 在将数据密集型分析应用程序(例如 MapReduce、Spark 作业)适应无服务器平台时,出现了许多挑战,其中一个特别的挑战是:无服务器分析 遇到跨不同阶段协调计算和在大型配置空间中预置资源的困难
  • 1)如何有效地处理大量中间数据,与持久性输入和输出数据相比,也称为临时数据,这样的中间数据需要在不同阶段的无状态函数之间共享。
    • 例如,与 MapReduce shuffle 阶段中传统的 VM 到 VM 或服务器到服务器的中间数据传输不同,无服务器平台中的函数到函数网络不支持批量数据传输,这与无服务器计算的原始设计理念一致。因此,映射器函数需要将中间数据输出到外部存储中,例如对象存储 S3 或分布式缓存 Redis,以便稍后作为 reducer 函数的输入获取。上述短暂数据共享带来的成本和延迟在利用无服务器分析时引发了严重的应用程序性能和成本效率问题。
  • 现有的工作已经为无服务器分析提出了许多临时数据存储解决方案。例如,
    • Pocket 被设计和实现为无服务器作业共享的分布式存储系统,它将数据放置在多个存储层上,以提供高吞吐量和低延迟的服务。
    • Locus 是一个针对无服务器环境定制的数据分析框架,它利用快速和慢速存储的混合,在无服务器 MapReduce 作业中编排中间数据的随机排序。
  • 2)尽管进行了这些研究工作,但对于大型配置空间之间无服务器分析的协调和资源预置,包括每个函数的内存大小每个计算阶段的并行度等,还没有通用的指导。云用户很容易以次优方式部署其无服务器分析,冒着违反其服务质量 (QoS) 目标的风险(例如, 在延迟阈值内响应)或产生额外的计费成本,而这些成本本可以通过更好的配置来避免。
    • 从本质上讲,用户仍然面临用于大数据分析的无服务器预置的关键挑战(如第 2.3 节所示):给定较大的配置空间和不同类型的用户需求(面向延迟或预算驱动),用户如何在不考虑底层复杂性(临时数据管理和资源配置)的情况下利用无服务器计算的突出特性, 同时在性能或成本方面实现最大收益?更具体地说,如何在有限的预算下实现最佳的工作绩效,以及如何在不违反 QoS 目标的情况下最大限度地降低成本?为了应对这一挑战,我们认为需要构建一个通用框架,在数据分析开发人员和 FaaS 云提供商之间,以明智地处理作业部署并隐藏潜在复杂性。一个全面的解决方案有望根据用户灵活指定的要求,以自主方式对无服务器分析作业进行最佳配置和编排。

🛩创新

  • 简单来说,本文介绍了我们的 Astrea ,它以自主方式配置和编排无服务器分析作业,同时考虑灵活指定的用户要求。
    • Astrea 依赖于性能和成本的建模,该模型表征了多维因素(例如,函数内存大小、每个阶段的并行度)之间错综复杂的相互作用。
    • 我们根据用户对性能增强或成本的特定要求制定优化问题,并开发一套基于图论的算法来获得最优的作业执行。
  • 具体来说,我们设计了一个名为 Astrea 的通用框架,它可以自动配置和编排用于数据分析和机器学习作业的 lambda 函数,以在性能和成本之间进行权衡。
    • 首先,Astrea 根据用户特定的目标,在提交工作时为工作的成本和工作完成时间推导出数学模型。模型中表征的配置包括作业工作流中的阶段数、每个阶段的并行度(即每个阶段中的 lambda 函数数)以及 lambda 函数的类型(即请求的 lambda 的内存大小),这些配置与为作业调用的所有函数的编排相结合。
    • 其次,在模型的基础上,Astrea 根据图论获得最优作业执行计划。具体来说,我们分别为完成时间和货币成本构建了两个有向无环图 (DAG) 模型,以制定两个优化问题:(1) 给定预算约束,制定配置和作业执行优化,以最小化作业完成时间为目标,(2) 在服务质量 (QoS) 要求下,制定配置和作业执行优化,以最小化货币成本为目标。
    • 第三,在提交分析作业后,Astrea 通过解决我们针对特定目标制定的优化问题来计算资源分配和任务分配的最佳配置。鉴于当今无服务器平台上每个作业的最大并发数和每个函数的最大临时存储的限制,大型数据分析作业可能没有任何可行的直接部署解决方案(如第 4.3 节所示)。因此,我们设计了 Astrea 的扩展版本,通过明智的多轮执行来适应大型作业。

📊效果

  • 我们部署 Astrea 在 AWS Lambda 平台中,并根据不同规模的代表性基准(包括大数据分析和机器学习工作负载)进行实际实验。
    • 广泛的结果表明 Astrea 可以与各种预置和部署基线相比,实现无服务器数据分析的最佳执行决策。
    • 例如,与三个预置基准相比, Astrea 在给定的预算限制下,设法将作业完成时间减少 21% 到 69%,同时在不违反性能要求的情况下节省 20% 到 84% 的成本。
  • 最后,我们在 AWS Lambda 上实施和部署了 Astrea,并通过对不同规模的大数据分析和机器学习的各种工作负载进行实际实验来评估其性能,包括字数(1 GB、10 GB 和 20 GB)、排序(100 GB)、对 Uservisits 数据集(25.4 GB 和 126.8 GB)和排名数据集(6.38 GB)的各种查询, K 最近邻分类 (10 GB) 和 K-means 聚类 (10 GB)。我们将 Astrea 与 AWS 上的以下预置和部署解决方案进行了比较:i) AWS Lambda 上的三个预置基准,ii) 分别在 Amazon EC2 和 SageMaker 上的 Apache Spark,以及 iii) Amazon Elastic MapReduce (EMR)。
  • 广泛的实验结果表明,Astrea 可以优化受预算约束的工作绩效(即最小化完成时间),并在不违反性能要求的情况下最大限度地降低货币成本。与三个基线相比,Astrea 在具有三种不同输入大小的 Wordcount 基准测试中实现了约 42% 到 69% 的性能提升,排序性能提高了 21%,Query over Uservisits 数据集的性能提高了 57%,对于其他查询工作负载,性能提高了至少 29%。在货币成本方面,Wordcount 最多可减少 80%,Sort 最多可减少 21%,Query over Uservisits 数据集最多可减少 42%,其他查询最多可减少 84%。与 EC2 上的 Spark 相比,Astrea 可节省至少 92% 的成本,同时实现类似或高达 2 倍的工作性能。与用于机器学习作业的 Spark on SageMaker 相比,Astrea 可以降低成本高达 97%,同时完成作业的速度至少提高 36%。与基于 VM 的商业 MapReduce 平台 EMR 相比,Astrea 的完成速度提高了 77%,并节省了 65% 的 Wordcount 和 Sort 工作负载成本。我们的 Astrea 扩展版本还被证明可以通过多轮有效地部署大型作业,与 EC2 上的 Apache Spark 相比,可以降低成本并提高性能。正如所证明的那样,Astrea 根据灵活的要求成功地在工作完成时间和金钱成本之间进行了权衡,超越了现有次优或不完整的解决方案。

⛳️未来机会

  • 我们计划探索采用更好的中间数据传输策略和为大规模数据分析作业利用最佳任务级编排的方向,如 5.6 节所述。
    • 例如,可以设计一个更好的调度程序,以流水线方式调用不同阶段的函数,以加快工作流。
  • 在更普遍的背景下,无服务器计算被认为是云计算的下一阶段,将彻底改变云编程。有状态无服务器的未来方向,例如改进和发明共享日志记录的日志记录机制和容错工具,以轻松识别无服务器应用程序中的错误。
  • 另一方面,随着物联网 (IoT)、区块链和人工智能对云的变革性影响,它仍然开放地发挥无服务器计算的潜力,以支持更广泛的云应用程序
    • 更具体地说,在 IoT 的范式中,研究挑战包括将无服务器函数放置在何处(跨边缘、雾和云层)、如何卸载和分派函数、如何缓解冷启动以减少任务关键型应用程序的延迟等。
  • 最后但并非最不重要的一点是,与“天空计算”的概念保持一致并避免供应商锁定, 开发无服务器产品的跨提供商聚合解决方案可能是一个有趣的方向。

🧠疑问

  1. 避免供应商锁定问题的难点是什么?


  • 希望这篇博客对你有帮助!如果你有任何问题或需要进一步的帮助,请随时提问。
  • 如果你喜欢这篇文章,欢迎动动小手 给我一个follow或star。

🗺参考文献

[1] J. Jarachanthan, L. Chen, F. Xu and B. Li, “Astrea: Auto-Serverless Analytics Towards Cost-Efficiency and QoS-Awareness,” in IEEE Transactions on Parallel and Distributed Systems, vol. 33, no. 12, pp. 3833-3849, 1 Dec. 2022, doi: 10.1109/TPDS.2022.3172069.

  • 标题: 【论文】略读笔记61-前沿-复杂拓扑并行配置调整
  • 作者: Fre5h1nd
  • 创建于 : 2024-09-19 11:25:18
  • 更新于 : 2024-10-08 11:39:55
  • 链接: https://freshwlnd.github.io/2024/09/19/literature/literatureNotes61/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论