- 简介应用程序的尾延迟是许多服务的关键指标,高延迟直接与收入损失相关。现代深度嵌套的微服务架构加剧了尾延迟的问题,增加了用户遇到这种问题的可能性。在这项工作中,我们展示了当应用程序在重负载下运行时,操作系统线程的CPU过度承诺会导致高尾延迟。 CPU过度承诺可能来自两个操作因素:在CPU配额下错误地确定可用的CPU数量,以及忽略邻居应用程序及其CPU使用情况。我们讨论了不同语言获取可用CPU的解决方案,评估了影响,并讨论了更统一的语言无关接口获取可用CPU数量的机会。然后,我们评估了邻居使用对尾延迟的影响,并介绍了一种新的邻居感知线程池,即友好线程池,它动态避免了过度承诺。在我们的评估中,友好线程池将最大工作延迟降低了高达$6.7\times$,但会以高达$1.4\times$的吞吐量降低的代价。
-
- 图表
- 解决问题解决高尾延迟问题,提高服务质量和收益。针对现代深度嵌套的微服务架构,探讨CPU超额提交对高尾延迟的影响。
- 关键思路通过友好线程池动态避免CPU超额提交,降低最大工作延迟,提高吞吐量。
- 其它亮点论文探讨了不同语言获取可用CPU数量的解决方案,并提出了一种更统一的语言无关接口。同时,引入了友好线程池的概念,实现了动态避免CPU超额提交,降低了最大工作延迟,但也会带来一定的吞吐量损失。实验结果表明友好线程池可以将最大工作延迟降低6.7倍。
- 近期相关研究包括:1. "Understanding and Mitigating Packet Processing Tail Latency";2. "The Tail at Scale";3. "The Tail at Scale in Cloud Storage Systems"。
NEW
提问交流
提交问题,平台邀请作者,轻松获得权威解答~
向作者提问

提问交流