[論文レビュー] Everything Matters in Programmable Packet Scheduling
PACKS は、既存のハードウェア上でランク感知のアドミッション制御と厳密優先順位キュー間の知的なキュー・マッピングを組み合わせることで、プッシュイン・ファーストアウト(PIFO)キュー動作を完全に近似する、新しいプログラマブルなパケットスケジューラである。Intel 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このスケジューラは、Intel Tofino2 などの既存のプログラマブルスイッチ上でラインレート動作を達成できるか?
主な発見
- PACKS は、さまざまな負荷レベルおよびランク分布において、SP-PIFO と比較してスケジューリング誤差を最大75%まで低減した。
- 80%の利用率において、PACKS は理想の PIFO パフォーマンスの 4.12%以内に収まり、SP-PIFO を上回り、AIFO と同等の 99パーセンタイル性能を達成した。
- 小規模なフロー(10Kパケット未満)において、PACKS は平均フロー完了時間を最も短くし、AFQ の10%しか上回らない性能であった。
- Tofino2 ハードウェアテストベッド上では、PACKS は高優先度フローを効果的に優先し、帯域幅を的確に割り当てた。一方、FIFO は優先順位を区別できなかった。
- Intel Tofino2 スイッチ上でも PACKS はラインレート性能を維持し、実用的な展開可能性を示した。
- すべてのテストされたランク分布において、PACKS は AIFO よりも PIFO のアドミッション動作をより忠実に再現した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。