[论文解读] Everything Matters in Programmable Packet Scheduling
PACKS 是一种新型可编程数据包调度器,通过结合感知优先级的准入控制与跨严格优先级队列的智能队列映射,在现有硬件上完全近似实现了推送优先先进先出(PIFO)队列行为。它在英特尔 Tofino2 交换机上实现了线速性能,与最先进的方法(如 SP-PIFO)相比,调度错误减少了高达 75%,同时在各种工作负载分布下,其准入控制保真度优于 AIFO。
Programmable packet scheduling allows the deployment of scheduling algorithms into existing switches without need for hardware redesign. Scheduling algorithms are programmed by tagging packets with ranks, indicating their desired priority. Programmable schedulers then execute these algorithms by serving packets in the order described in their ranks. The ideal programmable scheduler is a Push-In First-Out (PIFO) queue, which achieves perfect packet sorting by pushing packets into arbitrary positions in the queue, while only draining packets from the head. Unfortunately, implementing PIFO queues in hardware is challenging due to the need to arbitrarily sort packets at line rate based on their ranks. In the last years, various techniques have been proposed, approximating PIFO behaviors using the available resources of existing data planes. While promising, approaches to date only approximate one of the characteristic behaviors of PIFO queues (i.e., its scheduling behavior, or its admission control). We propose PACKS, the first programmable scheduler that fully approximates PIFO queues on all their behaviors. PACKS does so by smartly using a set of strict-priority queues. It uses packet-rank information and queue-occupancy levels at enqueue to decide: whether to admit packets to the scheduler, and how to map admitted packets to the different queues. We fully implement PACKS in P4 and evaluate it on real workloads. We show that PACKS: better-approximates PIFO than state-of-the-art approaches and scales. We also show that PACKS runs at line rate on existing hardware (Intel Tofino).
研究动机与目标
- 为解决现有可编程调度器仅近似 PIFO 队列两种关键行为之一(调度顺序或准入控制)的差距。
- 设计一种调度器,能够在不进行硬件重构的前提下,同时近似 PIFO 队列的准入与调度行为。
- 仅使用现有数据平面原原子,实现复杂调度算法在商品化可编程交换机上的实际部署。
- 在实现线速运行的同时,最小化优先级倒置,提升公平性与流完成时间。
提出的方法
- PACKS 使用一组严格优先级队列作为底层硬件抽象,以模拟 PIFO 行为。
- 它实现了感知优先级的准入控制机制,基于预期的优先级分布和当前队列占用情况,预测数据包是否应被接纳。
- 它采用动态队列映射技术,将进入的数据包分配到特定优先级队列,以最小化未来的优先级倒置。
- 该调度器在入队时估算理想 PIFO 队列的预期行为,并预先执行准入与调度决策。
- 它在 P4 中完整实现了该设计,并在真实工作负载和 Tofino2 硬件测试平台上进行了评估。
- 该系统利用数据包优先级和队列占用水平,实时做出决策,以模拟 PIFO 重新排序和丢弃数据包的能力。
实验结果
研究问题
- RQ1可编程调度器能否同时近似 PIFO 队列的准入与调度行为?
- RQ2在无法对已入队数据包进行重新排序或丢弃的硬件上,如何模拟类似 PIFO 的行为?
- RQ3在多队列严格优先级框架中,何种准入与映射策略能最小化调度错误与优先级倒置?
- RQ4与 SP-PIFO 和 AIFO 相比,所提出的调度器在调度准确性和准入控制保真度方面表现如何?
- RQ5该调度器能否在现有可编程交换机(如英特尔 Tofino2)上实现线速性能?
主要发现
- 在各种负载水平和优先级分布下,PACKS 相较于 SP-PIFO 将调度错误减少了高达 75%。
- 在 80% 利用率下,PACKS 的性能距离理想 PIFO 仅相差 4.12%,优于 SP-PIFO,并在第 99 百分位数上与 AIFO 表现相当。
- 对于小流(<10K 数据包),PACKS 实现了最低的平均流完成时间,仅比 AFQ 慢 10%。
- 在 Tofino2 硬件测试平台上,PACKS 成功优先处理高优先级流,有效分配带宽,而 FIFO 无法实现区分。
- PACKS 在英特尔 Tofino2 交换机上保持了线速性能,证明了其实际可部署性。
- 在所有测试的优先级分布下,PACKS 在近似 PIFO 准入行为方面始终优于 AIFO。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。