[网络领域顶会追踪系列#6][NSDI'22]数据包的顺序很重要!通过故意延迟数据包提升应用性能
本系列为个人论文阅读笔记,大多数应该是对顶会摘要的个人菜鸟翻译,旨在让感兴趣的朋友能快速浏览、获取信息。如有错误或心得,欢迎在评论区交流指正!
Packet Order Matters! Improving Application Performance by Deliberately Delaying Packets
背景
数据中心越来越多地部署带有高速网卡的商用服务器,以保证低时延的通信。然而,在高速率下实现低延迟,很大程度上依赖于来的流量如何和系统缓存交互。当数据包需要被以连续的方式处理时,缓存可以释放出很好的作用。
工作
挑战
系统地分析了时间和空间局部性对配备了高速网卡的商用服务器的性能影响,结果表明:
- 即使在轻微缺少局部性的情况下,一系列被广泛部署的应用的性能大幅度的衰减
- 一个流量trace表明网络协议、驱动和交换机/路由器及时地将数据包分散,导致流量局部性很差
解决方案
为解决这些问题,构建了Reframer,一个故意延迟并重排序数据包以提升流量局部性的软件解决方案。
实验
除了给部分包引入了微秒级的延迟,作者表明了Reframer增加了一个服务功能链最高84%的吞吐,减小了一个web服务器11%的流完成时间并增大了它20%的吞吐。
原文摘要
Data centers increasingly deploy commodity servers with high-speed network interfaces to enable low-latency communication. However, achieving low latency at high data rates crucially depends on how the incoming traffic interacts with the system's caches. When packets that need to be processed in the same way are consecutive, i.e., exhibit high temporal and spatial locality, caches deliver great benefits.
In this paper, we systematically study the impact of temporal and spatial traffic locality on the performance of commodity servers equipped with high-speed network interfaces. Our results show that (i) the performance of a variety of widely deployed applications degrade substantially with even the slightest lack of traffic locality, and (ii) a traffic trace from our organization reveals poor traffic locality as networking protocols, drivers, and the underlying switching/routing fabric spread packets out in time (reducing locality). To address these issues, we built Reframer, a software solution that deliberately delays packets and reorders them to increase traffic locality. Despite introducing μs-scale delays of some packets, we show that Reframer increases the throughput of a network service chain by up to 84% and reduces the flow completion time of a web server by 11% while improving its throughput by 20%.