Skip to main content
QUICK REVIEW

[论文解读] Memory-Efficient Performance Monitoring on Programmable Switches with Lean Algorithms

Zaoxing Liu, Samson Zhou|arXiv (Cornell University)|Nov 16, 2019
Software-Defined Networks and 5G参考文献 35被引用 4
一句话总结

本文提出轻量级算法,通过利用次线性采样技术,在可编程交换机上实现内存高效的性能监控,仅使用40KB内存即可追踪导致高延迟、丢包或重传等问题的top-k流量流,实测数据中对导致问题的前100个流量流的检测率约为82%。

ABSTRACT

Network performance problems are notoriously difficult to diagnose. Prior profiling systems collect performance statistics by keeping information about each network flow, but maintaining per-flow state is not scalable on resource-constrained NIC and switch hardware. Instead, we propose sketch-based performance monitoring using memory that is sublinear in the number of flows. Existing sketches estimate flow monitoring metrics based on flow sizes. In contrast, performance monitoring typically requires combining information across pairs of packets, such as matching a data packet with its acknowledgment to compute a round-trip time. We define a new class of \emph{lean} algorithms that use memory sublinear in both the size of input data and the number of flows. We then introduce lean algorithms for a set of important statistics, such as identifying flows with high latency, loss, out-of-order, or retransmitted packets. We implement prototypes of our lean algorithms on a commodity programmable switch using the P4 language. Our experiments show that lean algorithms detect $\sim$82\% of top 100 problematic flows among real-world packet traces using just 40KB memory.

研究动机与目标

  • 解决在资源受限的交换机和NIC中可扩展、实时的网络性能监控挑战。
  • 克服传统逐流状态追踪方法在大规模场景下因内存和计算资源限制而不可行的问题。
  • 设计一种内存使用量在输入大小和流数量上均呈次线性关系的算法,以实现在无需终端主机访问的情况下高效在线监控。
  • 实现对数据中心和运营商网络中导致高延迟、丢包、乱序传输及重传等问题的高影响流量流的检测。
  • 为商品化可编程交换机上新型基于采样技术的性能监控工具提供理论基础与实际实现。

提出的方法

  • 定义一类新型的“轻量级算法”,其内存使用量在流数量和输入数据大小上均呈次线性。
  • 引入流式处理模型,要求性能监控函数满足“流可加性”属性,并支持对每个流的次线性估计。
  • 利用采样数据结构(如Count-Min、布隆过滤器)作为构建模块,以有界误差估计关键性能指标。
  • 设计特定的轻量级算法,以最小状态开销检测高延迟、丢包、乱序包和重传的流量流。
  • 在商品化可编程交换机(如Tofino)上使用P4实现原型,利用状态内存和优化的匹配-动作表。
  • 通过复用哈希值和元数据于多个采样结构之间,最小化资源使用,降低哈希位数需求和内存占用。

实验结果

研究问题

  • RQ1我们能否设计出在流数量和输入数据大小上均呈次线性内存使用的性能监控算法?
  • RQ2哪些性能监控函数满足流可加性属性并支持对每个流的次线性估计?
  • RQ3在仅使用最小内存的前提下,轻量级算法能多准确地检测出前k个最具影响力的流量流(如高延迟或高丢包流)?
  • RQ4在商品化交换机上对真实数据包追踪应用轻量级算法时,实际的内存与精度权衡关系如何?
  • RQ5能否设计一个统一的采样框架,以在资源受限环境中同时支持多种性能指标?

主要发现

  • 所提出的轻量级算法仅使用40KB内存,即可在真实数据包追踪中检测到约82%的前100个最具问题性的流量流。
  • 理论框架证明,任何满足流可加性与单一流次线性性的性能监控函数,均可实现内存使用量在输入大小和流数量上均呈次线性的监控。
  • 在商品化可编程交换机上使用P4的实现表明,资源消耗极低,表2显示其与默认交换机实现相比开销极小。
  • 该方法可在无需终端主机访问的情况下实现实时、网络内性能监控,适用于公有云和运营商网络。
  • 该方法可在单一统一的采样框架内同时支持多种性能指标,包括延迟、丢包、乱序传输和重传。
  • 本工作建立了某些统计量确定性监控的内存下限为Ω(N),从而在实践中证明了采用概率性次线性方法的必要性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。