中文

用于降低 FaaS 系统响应时间的调用调度

分布式、并行与集群计算 2022-11-01 v1

摘要

在过载的 FaaS 集群中,各个工作节点在不断增长的请求队列下承压。尽管集群最终可能进行水平扩展,但新增一个节点需要数十秒。由于服务应用针对尾部服务延迟进行了调优,而这些延迟在较重负载下会大幅增加,当前的权宜之计是资源过度配置。事实上,尽管某项服务可以承受例如 70% CPU 利用率的稳定负载,自动伸缩器却在例如 30-40% 时触发(因此该服务使用的节点数是所需的两倍)。我们提出了一种替代方案:一种在不增加节点数的情况下处理重负载的工作节点级方法。与文本编辑器等相比,FaaS 执行是非交互式的:最终用户通常不会从经常分配但仅短时间的进程 CPU 中获益。受高性能计算调度方法的启发,我们采取了一个激进步骤,用以下方式取代经典 OS 抢占:(1) 基于历史特征对请求进行排队;(2) 一旦请求被处理,将其 CPU 限制设置为恰好一个核心(无 CPU 超售)。我们扩展了 OpenWhisk 并使用 SeBS 基准测试所提方案的效率。在负载系统中,我们的方法将平均响应时间降低了 4 倍。对于较短请求,改进更为显著,平均伸展度降低了 18 倍。这使我们能够证明,使用 3 台机器可比 4 台机器的基线提供更好的响应时间统计。

关键词

引用

@article{arxiv.2207.13168,
  title  = {Call Scheduling to Reduce Response Time of a FaaS System},
  author = {Paweł Żuk and Bartłomiej Przybylski and Krzysztof Rzadca},
  journal= {arXiv preprint arXiv:2207.13168},
  year   = {2022}
}