HiveMind: A Hardware-Software System Stack for Serverless Edge Swarms

本文的中心是针对serverless+edge computing进行优化。 包括一个简化cloud-edge应用的domain-specific语言、 一个自动探索任务放置策略的工具、 一个利于serverless computing的集中式控制器、 一个用于网络和远程内存访问的可重新配置的、基于FPGA的硬件加速结构。

集中式控制的优点是对全局可见性;缺点是可扩展瓶颈、高网络开销。

分布式控制的优点是scale;缺点是lack of coordination。

Role of serverless in edge swarms

serverless带来一些好处

  • 运行任务的并行度高时得到性能提升
  • 扩缩容
  • fault tolerance

也有一些挑战

  • 性能可预测性不好
  • 初始化开销大
  • 函数之间的通信开销

design

  1. 一个声明式的编程模型,允许用户表达其计算的高层结构,而不必暴露在复杂的部署中
  2. 一个集中式的控制器,自动决定哪些计算应该放在云端而不是边缘资源中
  3. 一个无服务器云的调度器,处理任务放置和函数实例化
  4. 一个快速的远程内存访问加速器,使依赖函数之间的数据交换得以实现
  5. 一个可重新配置的网络加速结构,减少云和边缘的通信费用