论文标题

数据包计划的正式抽象

Formal Abstractions for Packet Scheduling

论文作者

Mohan, Anshuman, Liu, Yunhe, Foster, Nate, Kappé, Tobias, Kozen, Dexter

论文摘要

针对软件定义网络(SDN)的早期编程模型着重于控制网络范围的转发路径的基本功能,但是最近的工作考虑了会影响性能的更丰富的功能,例如数据包调度和排队。特别是,Sivaraman等人提出的Pifo树为可编程数据包计划提供了灵活,有效的原始性。先前的工作表明,PIFO树可以表达各种实用算法,包括严格的优先级,加权公平排队和等级方案。但是,PIFO树的语义特性尚不清楚。 本文从编程语言的角度研究了Pifo树。我们在操作模型中正式化了PIFO树的语法和语义,该模型将在树上从树的拓扑结构上运行的调度策略。在这种形式化的基础上,我们开发了汇编算法,允许使用具有不同拓扑的树来实现针对一种拓扑的PIFO树的行为。这样的编译器可用于优化PIFO树的实现,或者在目标上实现逻辑PIFO树,其中固定拓扑结构在硬件中。为了支持实验,我们为PIFO树开发了软件模拟器,并提出了案例研究,以说明其在标准和自定义算法上的行为。

Early programming models for software-defined networking (SDN) focused on basic features for controlling network-wide forwarding paths, but more recent work has considered richer features, such as packet scheduling and queueing, that affect performance. In particular, PIFO trees, proposed by Sivaraman et al., offer a flexible and efficient primitive for programmable packet scheduling. Prior work has shown that PIFO trees can express a wide range of practical algorithms including strict priority, weighted fair queueing, and hierarchical schemes. However, the semantic properties of PIFO trees are not well understood. This paper studies PIFO trees from a programming language perspective. We formalize the syntax and semantics of PIFO trees in an operational model that decouples the scheduling policy running on a tree from the topology of the tree. Building on this formalization, we develop compilation algorithms that allow the behavior of a PIFO tree written against one topology to be realized using a tree with a different topology. Such a compiler could be used to optimize an implementation of PIFO trees, or realize a logical PIFO tree on a target with a fixed topology baked into the hardware. To support experimentation, we develop a software simulator for PIFO trees, and we present case studies illustrating its behavior on standard and custom algorithms.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源