ハードウェアで高速、スケーラブル、およびプログラマブルパケットスケジューラ:紙の読み

要約:

増加に伴い、低精度と高いCPU使用率のデータパケットスケジューリングソフトウェア結果を伝播速度とリンクのCPU速度を減速しました。

このようNIC荷降ろしなどのハードウェアによるデータパケットスケジューリングは、潜在的にこれらの欠点を克服することができます。しかし、パケットスケジューラソフトウェアの柔軟性を維持するために、ハードウェアパケットスケジューラは、プログラム可能でなければなりませんが、また、高速かつスケーラブルでなければなりません。

最も先進的なハードウェアパケットスケジューラいくつかの妥協のスケーラビリティ、およびパケットスケジューリングアルゴリズムのさまざまな機能のいくつかの表現((PIFO)・イン・ファーストアウトをプッシュ)(FIFO(FIFO)))でも、一般的なスケジューリングプリミティブなどPIFOは表現するのに十分なパケットスケジューリングアルゴリズムの特定の主要なカテゴリの能力を示すことができません。

したがって、それは要素の順序付きリストを保持として、本論文では、我々は、汎化PIFOプッシュ・イン・エキスアウト(PIEO)と呼ばれるプリミティブ、およびPIFOを提案するが、唯一のリストから許可PIFO異なる、PIFOチームのリストを可能にし、任意の場所からデキューに基づくプログラマブルフィルタ述語をサポートすることにより、PIEOをデキュー始まります。

次に、我々はPIFO、スケーラビリティ、30倍以上よりも表現力FPGA、PIEOスケジューラに迅速かつスケーラブルなハードウェアPIEOスケジューラの設計、および試作を紹介します。

背景/問題:

スケジューリングアルゴリズムやスケジューリング、アルゴリズムやポリシーのスケジューリングパケットスケジューラの実行は、データパケットを送信する際に、インターネット上のどのような順序で指定します。ソフトウェアで実現パケットスケジューラは、ユーザーがすぐにテストし、新しいスケジューリングアルゴリズムと戦略を採用するための柔軟性を可能にします。しかし、この柔軟性は、消費CPUサイクルのコストが伴います。残念ながら、遅く増加CPU速度リンク速度スケーリングとの間のよりとのミスマッチとして、この問題は悪化します。

これらの厳しい要件を満たすためのソフトウェアは、主にソフトウェア処理と高解像度のタイマーソフトの不足によって引き起こされるジッタの不確実性には、困難です。上述したハードウェアの制限(例えば、NIC)パケットスケジューラは、潜在的に、スケジューラの柔軟性を維持するために、パケットスケジューラソフトウェアが、ソフトウェア・パッケージを克服することができ、パケットスケジューラハードウェアは、プログラム可能でなければなりません。

2つのプリミティブに基づいて、最も高度なハードウェアパケットスケジューラのスケジューリング:

  • 先入れ先出し(FIFO)で、到着のその順序は、単に要素をスケジュールします。

  • (PIFO)・ファーストアウトを押して、それは常に順序付けられたリストの先頭から要素の順序付きリスト(プログラマブル機能に基づいてランクを)維持することによってスケジュールすること。

残念ながら、これはPIFOのような場合でも、拡張性の妥協(ベースのスケジューラのPIFO)、またはパケットスケジューリングアルゴリズム(FIFOベースのスケジューラ)の多様性を表現することができないのいずれかで、これらのプリミティブパケットスケジューラに基づきますパケットスケジューリングアルゴリズムの特定の種類を表現するのに十分な一般的なスケジューラ原始的表現能力。

ソリューション:

私たちは、新しいハードウェア、プログラム可能なパケットスケジューラ、従来技術よりも速い速度を持つスケジューラ、表現のより高いパフォーマンスとスケーラビリティを提案します。

プログラム可能なパケットスケジューラを設計するために、我々は、データパケットスケジューリングアルゴリズムのほとんどは、スケジューリング処理における二つの重要なポイントを持っていることを学びました。

  • 要素(パケット/ストリーム)は、スケジューリングのために適したものとなると(時間の特定のプログラム可能な述語関数によって決定されます)

  • 予選のセットにおけるどのような順序素子におけるスケジューリング(プログラム可能な機能の順位によって決定されます)

任意の時点で、パケットスケジューリングアルゴリズムは、第1のフィルタ要素は、(述語関数を使用して)スケジューリング、スケジュールされたランクとセットから、次に最小の要素を設定する資格があったであろう。したがって、データパケットスケジューリングアルゴリズムのほとんどは、次のスケジューリングポリシーとして抽象化することができます任意の時点で、「最小発注資格」要素をスケジュールします。

私たちは、プッシュ・イン・エキスアウト(PIEO)と呼ばれる新しいスケジューリングプリミティブを提案PIFOプリミティブまとめたように、それは考えることができます。PIEO各要素が選択されたスケジューリングアルゴリズムに基づいてプログラムすることができるどちらも、資格のレベルと述語に関連付けられています。次に、常に要素の要素の順序付きリストを維持する昇順にランク付けされたリスト内の適切な位置に(「押し込み」プリミティブ)要素のレベルに応じによってPIEO。それは、インデックス、その後、本当にチームの要素の最小の部分集合の要素の順序付きリストのサブセットだったときに最後に、スケジューリングのために、PIEOは、最初の(「抽出アウト」プリミティブ)条件付きの動詞からスクリーニング。

したがって、PIEOは常に「最低ランクの資格」の要素を配置します。

また、私たちはアイデアを使っている、ほとんどのチームのスケジューリング時間(teliдible)のための要素の順序付けされたリストに、時間を計算することができ、パケットスケジューリングアルゴリズム、および資格述語評価のために、通常時にチーム除外(tcur器Rent≥teliдible)に減少し、tは時間の任意の単調増加関数であってもよいです。

非常に効率的なハードウェアのスケジューラPIEOのこのビュー。

 

 

おすすめ

転載: www.cnblogs.com/chelinger/p/11718043.html