[论文解读] Low latency via redundancy
本文提出使用冗余——即在不同资源上多次执行操作,并采用首个完成的结果——作为一种通用技术,以减少网络化系统的平均延迟和尾部延迟。结果表明,当系统利用率低于50%时,冗余能以极低的代价显著降低延迟;并在DNS、数据库和网络转发等实际系统中通过实证验证,尾部延迟最高可降低50倍。
Low latency is critical for interactive networked applications. But while we know how to scale systems to increase capacity, reducing latency --- especially the tail of the latency distribution --- can be much more difficult. In this paper, we argue that the use of redundancy is an effective way to convert extra capacity into reduced latency. By initiating redundant operations across diverse resources and using the first result which completes, redundancy improves a system's latency even under exceptional conditions. We study the tradeoff with added system utilization, characterizing the situations in which replicating all tasks reduces mean latency. We then demonstrate empirically that replicating all operations can result in significant mean and tail latency reduction in real-world systems including DNS queries, database servers, and packet forwarding within networks.
研究动机与目标
- 理解尽管系统利用率增加,冗余在何种情况下仍能改善延迟。
- 描述冗余系统中延迟降低与资源成本之间的权衡。
- 在DNS、数据库和数据包转发等实际系统中实证验证冗余的有效性。
- 识别冗余在何种条件下具有成本效益且具有广泛适用性。
- 倡导将冗余作为一种通用低延迟技术,在网络化系统中更广泛地采用。
提出的方法
- 构建排队模型,分析期望响应时间随系统利用率和服务时间分布的变化。
- 通过仿真评估冗余在不同服务时间分布和负载水平下的影响。
- 在真实系统中实测延迟降低效果,包括DNS查询、数据库操作和TCP连接建立。
- 将冗余查询与单个查询在多个DNS服务器上的表现进行对比,并测量尾部延迟的改善情况。
- 通过比较单位增加流量或带宽所节省的延迟,分析成本效益。
- 在广域网和数据中心环境中评估冗余,包括存在路径多样性与不存在路径多样性的情形。
实验结果
研究问题
- RQ1在何种系统利用率条件下,尽管资源使用量翻倍,冗余仍能降低平均和尾部延迟?
- RQ2服务时间分布如何影响冗余在降低延迟方面的有效性?
- RQ3最优冗余查询数量是多少?该数量可在保持成本效益的同时最大化延迟降低效果?
- RQ4在哪些实际系统中,冗余能带来可测量的性能提升?
- RQ5与预取或缓存等其他延迟降低技术相比,冗余有何表现?
主要发现
- 与单个查询相比,冗余将超过500毫秒的DNS响应比例降低6.5倍,超过1.5秒的响应比例降低50倍。
- 当系统利用率低于50%时,无论服务时间分布如何,冗余始终能降低平均延迟。
- 冗余有效的阈值介于25%至50%利用率之间,且随着服务时间方差增大,该阈值趋近于50%。
- 复制TCP SYN数据包可将平均延迟降低约170毫秒,尾部延迟降低880毫秒。
- 当客户端成本基于DSL而非蜂窝数据时,冗余的成本效益优于盈亏平衡阈值100倍以上。
- 即使考虑资源利用率翻倍的影响,冗余在广泛系统中仍具有净正向影响。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。