Fixed buffer sizing in computer networks, especially the Internet, is a compromise between latency and bandwidth. A decision in favor of high bandwidth, implying larger buffers, subordinates the latency as a consequence of constantly filled buffers. This phenomenon is called Bufferbloat. Active Queue Management (AQM) algorithms such as CoDel or PIE, designed for the use on software based hosts, offer a flow agnostic remedy to Bufferbloat by controlling the queue filling and hence the latency through subtle packet drops. In previous work, we have shown that the data plane programming language P4 is powerful enough to implement the CoDel algorithm. While legacy software algorithms can be easily compiled onto almost any processing architecture, this is not generally true for AQM on programmable data plane hardware, i.e., programmable packet processors. In this work, we highlight corresponding challenges, demonstrate how to tackle them, and provide techniques enabling the implementation of such AQM algorithms on different high speed P4-programmable data plane hardware targets. In addition, we provide measurement results created on different P4-programmable data plane targets. The resulting latency measurements reveal the feasibility and the constraints to be considered to perform Active Queue Management within these devices. Finally, we release the source code and instructions to reproduce the results in this paper as open source to the research community.
翻译:在计算机网络中,特别是互联网,固定缓冲在计算机网络中,固定缓冲是延缓和带宽之间的一种折中。 有利于高带宽度的决定, 意味着更大的缓冲, 由于不断填充缓冲的结果, 将延缓值从属于高带宽度。 这种现象被称为 Bufferbloat 。 活跃的 Quue 管理算法, 如 CoDel 或 PIE, 是为软件主机设计的, 提供了对缓冲网的流动不可知的补救, 通过控制队列填充, 从而通过细微的包滴滴, 向缓冲线提供一种不透的补救。 在以往的工作中, 我们显示数据平面编程语言 P4 P4 的P4 功能, 虽然传统的软件算法可以很容易被汇编到几乎所有的处理结构中, 但对于AQM 程序可编程的数据平流管理算法的算算法, 通常不是这样的。 在此工作中, 我们强调相应的挑战, 演示如何用高速度的 P4 可编程数据平面硬件目标来实施 AQ 。 此外, 我们提供对磁度测量测量结果, 将测量结果, 以显示这些平流的平流管理结果, 以显示这些磁盘 。