[论文解读] Programmable Packet Scheduling
本文提出了一种基于推送优先出队队列(PIFO)抽象的可编程分组调度器,用于线速交换机,支持在不进行硬件重新设计的情况下运行时编程多种调度算法(如WFQ、LSTF和分层调度器)。该设计在16纳米工艺下实现1 GHz运行频率,芯片面积开销低于4%,证明了PIFO在现代交换机中实现高性能、灵活调度的可行性。
Switches today provide a small set of scheduling algorithms. While we can tweak scheduling parameters, we cannot modify algorithmic logic, or add a completely new algorithm, after the switch has been designed. This paper presents a design for a programmable packet scheduler, which allows scheduling algorithms---potentially algorithms that are unknown today---to be programmed into a switch without requiring hardware redesign. Our design builds on the observation that scheduling algorithms make two decisions: in what order to schedule packets and when to schedule them. Further, in many scheduling algorithms these decisions can be made when packets are enqueued. We leverage this observation to build a programmable scheduler using a single abstraction: the push-in first-out queue (PIFO), a priority queue that maintains the scheduling order and time for such algorithms. We show that a programmable scheduler using PIFOs lets us program a wide variety of scheduling algorithms. We present a detailed hardware design for this scheduler for a 64-port 10 Gbit/s shared-memory switch with <4% chip area overhead on a 16-nm standard-cell library. Our design lets us program many sophisticated algorithms, such as a 5-level hierarchical scheduler with programmable scheduling algorithms at each level.
研究动机与目标
- 使网络运营商能够在不进行硬件重新设计的情况下,在线速交换机中部署自定义调度算法。
- 克服固定功能调度器仅支持少量预定义算法的局限性。
- 设计一种硬件高效、高性能的调度器,支持可编程、分层及非工作保守型调度算法。
- 证明在现代硅工艺中以极小的面积和功耗开销实现基于PIFO的调度器是可行的。
- 建立一种编程模型,允许通过基于优先级的事务和PIFO抽象表达复杂的调度策略。
提出的方法
- 本文引入PIFO(推送优先出队队列)数据结构,该结构基于入队时分配的优先级,维护分组的调度顺序和时间。
- 定义了“调度事务”——在入队前计算分组优先级的小型程序,从而实现算法灵活性。
- 该设计利用了这样一个观察:许多调度决策(顺序和时间)可在入队时做出,从而简化实现。
- 通过组合多个PIFO构建分层调度器,使每一层可运行不同算法,例如五层分层调度。
- 硬件在16纳米标准单元库中综合,表明PIFO排序操作可在低面积开销下实现。
- 该实现支持64端口10 Gbps交换机,时钟频率为1 GHz,可处理约60K个分组和1K个流的缓存。
实验结果
研究问题
- RQ1能否使用单一抽象构建可编程分组调度器,以支持广泛的调度算法?
- RQ2在现代硅工艺中以极小的面积和性能开销实现基于PIFO的调度是否可行?
- RQ3能否在入队时确定调度决策(如顺序和时间),从而实现高效的硬件设计?
- RQ4PIFO抽象在表达某些调度算法时存在哪些局限性?
- RQ5能否通过PIFO和调度事务高效地实现分层及非工作保守型调度算法?
主要发现
- PIFO抽象支持广泛调度算法的编程,包括WFQ、LSTF、HPFQ以及细粒度优先级调度。
- 硬件设计实现1 GHz时钟频率,足以支持64端口10 Gbps共享内存交换机,无性能瓶颈。
- 与16纳米标准单元库中采用固定调度算法的基线交换机相比,该设计的芯片面积开销低于4%。
- 该实现支持五层分层调度,每一层可运行不同的可编程调度算法。
- PIFO设计在现代晶体管技术中是可行的,反驳了以往认为调度器中的排序操作在面积受限的交换机中成本过高的假设。
- 该方法使网络运营商能够部署新型自定义调度算法,突破厂商硬编码逻辑的限制。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。