Skip to main content
QUICK REVIEW

[論文レビュー] Programmable Packet Scheduling

Anirudh Sivaraman, Suvinay Subramanian|arXiv (Cornell University)|Feb 19, 2016
Interconnection Networks and Systems参考文献 29被引用数 3
ひとこと要約

この論文は、16nmプロセスで4%未満のチップ面積オーバーヘッドで1GHz動作を達成する10Gbpsスイッチで、ハードウェア再設計を伴わずに実行時プログラミングが可能な多様なスケジューリングアルゴリズム(WFQ、LSTF、階層スケジューラなど)を実装できる、プッシュインファーストアウト(PIFO)抽象化を用いたプログラマブルなパケットスケジューラを提案している。PIFOは現代のスイッチにおける高パフォーマンスで柔軟なスケジューリングを実現可能であることを示している。

ABSTRACT

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を組み合わせることで階層スケジューラを構築し、各レベルで異なるアルゴリズムを実行可能にし、5段階の階層スケジューリングを実現する。
  • 16nmスタンダードセルライブラリを用いてハードウェアを合成し、PIFOのソーティング処理が低い面積オーバーヘッドで実現可能であることを示す。
  • 実装は64ポート10Gbpsスイッチをサポートし、1GHzで動作し、約60Kパケットのバッファリングと1Kフローの処理を可能にする。

実験結果

リサーチクエスチョン

  • RQ1幅広いスケジューリングアルゴリズムをサポートする単一の抽象化を用いて、プログラマブルなパケットスケジューラを構築できるか?
  • RQ2現代のシリコン技術にPIFOベースのスケジューリングを最小限の面積およびパフォーマンスオーバーヘッドで実装可能か?
  • RQ3順序や時刻といったスケジューリング意思決定をキューイング時に行えるか?これにより効率的なハードウェア設計が可能か?
  • RQ4特定のスケジューリングアルゴリズムを表現する際のPIFO抽象化の限界は何か?
  • RQ5階層的および非ワークコンサービングなスケジューリングアルゴリズムを、PIFOとスケジューリングトランザクションを用いて効率的にプログラミングできるか?

主な発見

  • PIFO抽象化により、WFQ、LSTF、HPFQ、細粒度の優先順位スケジューリングなど、幅広いスケジューリングアルゴリズムのプログラミングが可能である。
  • ハードウェア設計は1GHzのクロック周波数を達成し、64ポート10Gbps共有メモリスイッチに十分なパフォーマンスを提供し、パフォーマンスボトルネックがない。
  • 16nmスタンダードセルライブラリにおいて、固定スケジューリングアルゴリズムを備えたベースラインスイッチと比較して、チップ面積オーバーヘッドが4%未満である。
  • 実装は5段階の階層スケジューリングをサポートし、各レベルで異なるプログラマブルなスケジューリングアルゴリズムを実行可能である。
  • PIFO設計は現代のトランジスタ技術で実現可能であり、スイッチの面積制約に反するという従来の仮定(スケジューラ内のソーティング処理はコストが高いため実装不可能)を覆している。
  • 本アプローチにより、ネットワークオペレータがベンダーハードコードされた論理にとらわれず、新しいカスタムスケジューリングアルゴリズムをデプロイできるようになった。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。