中文

Faasm:面向高效有状态无服务器计算的轻量级隔离

分布式、并行与集群计算 2020-06-22 v2

摘要

无服务器计算非常适合大数据处理,因为它能够快速且廉价地扩展到数千个并行函数。现有的无服务器平台将函数隔离在短暂的、无状态的容器中,阻止它们直接共享内存。这迫使用户重复复制和序列化数据,增加了不必要的性能和资源开销。我们认为需要一种新的轻量级隔离方法,支持函数之间直接共享内存并降低资源开销。我们引入了 Faaslets,一种用于高性能无服务器计算的新隔离抽象。Faaslets 使用 WebAssembly 提供的软件故障隔离(SFI)来隔离所执行函数的内存,同时允许同一地址空间中的函数之间共享内存区域。因此,当函数共置于同一机器上时,Faaslets 可以避免昂贵的数据移动。我们的 Faaslets 运行时 Faasm 使用标准 Linux cgroups 隔离其他资源(例如 CPU 和网络),并提供用于网络、文件系统访问和动态加载的低层 POSIX 主机接口。为了减少初始化时间,Faasm 从已初始化的快照恢复 Faaslets。我们将 Faasm 与基于容器的标准平台进行比较,表明在训练机器学习模型时,它实现了 2 倍加速并减少 10 倍内存;对于提供机器学习推理服务,Faasm 使吞吐量翻倍并将尾延迟降低 90%。

关键词

引用

@article{arxiv.2002.09344,
  title  = {Faasm: Lightweight Isolation for Efficient Stateful Serverless Computing},
  author = {Simon Shillaker and Peter Pietzuch},
  journal= {arXiv preprint arXiv:2002.09344},
  year   = {2020}
}