这篇论文的标题是《Nebula: Performance and Energy Efficiency in Serverless Computing - A Comparative Study of WebAssembly and Docker》,作者是 Marius Nilsen Kluften,来自奥斯陆大学(University of Oslo)的信息学系。论文探讨了在无服务器计算环境中,WebAssembly(Wasm)与Docker容器的性能和能源效率,并开发了一个名为Nebula的原型平台来测试这些技术。

主要内容概述:

摘要

  • 论文探讨了云计算架构中对可持续选项的需求,特别是考虑到全球电力使用中约1%由ICT行业消耗。
  • 研究了WebAssembly作为一种在云原生应用中考虑的技术,利用其固有的效率、可移植性和较低的启动时间。
  • 初步发现表明,编译为WebAssembly模块的程序具有减少的启动和运行时间,这可能导致更低的能源消耗,为更可持续的云计算提供了一条可行路径。

致谢

  • 作者感谢Fermyon的CEO Matt Butcher在“Rustacean Station”播客中的启发,以及他的两位导师Joachim Tilsted Kristensen和Michael Kirkedal Thomsen的指导。
  • 作者还感谢他的女朋友Ingvild Stølen的支持,以及他的同行Håkon Thorkildsen Smørvik在原型开发过程中的反馈和帮助。

第一章:引言

  • 论文介绍了云计算作为技术创新的基础技术,以及其对环境的影响,特别是数据中心的能源需求。
  • 论文提出了研究动机,即在满足对云服务的增长需求的同时,寻求环境可持续的解决方案。

第二章:云计算的三波

  • 论文介绍了云计算的演变,从虚拟机到容器化技术,再到WebAssembly模块作为第三波云计算技术。

第三章:背景

  • 详细讨论了云计算的概念、能源消耗和可持续性问题,以及虚拟化、容器化和无服务器计算的背景。

第四章:方法论

  • 描述了实验框架,包括原型开发、控制实验、基准测试、测量和数据收集、数据分析和比较分析。

第五章:设计Nebula

  • 介绍了Nebula原型的范围和目标,系统架构,以及如何设计和实现Nebula。

第六章:实现Nebula

  • 详细说明了技术栈的选择,包括Rust和WebAssembly,以及如何构建Web服务器、调用函数、开发和部署函数。

第七章:结果

  • 展示了在不同硬件配置上运行基准测试的结果,包括启动时间、总运行时间和能源消耗。

以下是该章节的关键发现:

216ddfe04af04b06b85d3a876130b7a1.png

  1. 启动和运行时间

    • Wasm模块在虚拟机(VM)上的冷启动时间比Docker容器快365倍,平均启动时间为0.89毫秒,而Docker为324.66毫秒。
    • 在Raspberry Pi上,Wasm模块的冷启动时间比Docker容器快217倍,平均启动时间为3.19毫秒,而Docker为692.36毫秒。
    • Wasm模块在VM上的总运行时间比Docker容器快324倍,平均为1.58毫秒,而Docker为511.69毫秒。
    • 在Raspberry Pi上,Wasm模块的总运行时间比Docker容器快183倍,平均为6.12毫秒,而Docker为1119.18毫秒。
  2. 能源消耗

    • 在Raspberry Pi上,Wasm模块的能源消耗比Docker容器少198倍,平均消耗为5.95微瓦时(μWh),而Docker为1176.15 μWh。
  3. 功率负载和能源消耗结果

    • 实验显示,Wasm模块在执行期间的功率负载和能源消耗显著低于Docker容器。
    • 随着输入值的增加,Wasm和Docker的功率负载趋于稳定,但能源消耗曲线保持各自的轨迹,表明在优化能源效率时,考虑功率和时间因素的重要性。
  4. 函数存储

    • Wasm模块的存储大小远小于Docker镜像,经过wasm-tools的strip工具处理后,Wasm模块的大小可以减少到Docker镜像的1/138。
  5. 图表和数据

    • 尽管无法直接显示图表,但文中提到了多个图表,如图7.1展示了在两种设置上Wasm和Docker的平均启动和运行时间,图7.2和图7.3分别展示了在虚拟机和Raspberry Pi上详细测量的启动和运行时间。
    • 图7.4至图7.12展示了在Raspberry Pi上执行不同函数时的平均功率负载和估计的能源消耗。

这些结果表明,Wasm在无服务器计算环境中提供了显著的性能优势和能源效率,特别是在启动时间、运行速度和能源消耗方面。这些发现支持了Wasm作为Docker在某些场景下的可行替代方案的观点。

第八章:讨论

  • 分析了WebAssembly和Docker在启动延迟、运行时性能、能源效率和功能存储方面的性能。

第九章:结论

  • 总结了WebAssembly在无服务器计算中的潜力,特别是在性能、启动时间和能源效率方面。

第十章:未来工作

  • 提出了未来研究的方向,包括进一步探索Docker性能差异、使用其他编程语言作为源代码、分布式部署和能源测量,以及更准确的能源消耗测量。

附录和参考文献

  • 提供了论文中使用的缩写词列表和参考文献。

整体而言,这篇论文深入探讨了WebAssembly在无服务器计算环境中作为Docker容器的替代方案的潜力,特别是在性能和能源效率方面。通过实验和原型开发,论文展示了WebAssembly在这些领域的显著优势,并为未来的研究提供了方向。

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐