このページの内容
CoS仮想出力キュー(VOQ)について
スイッチを介してトラフィックを転送する従来の方法は、イングレスインターフェイスの入力キューにイングレストラフィックをバッファリングし、スイッチファブリックを介してトラフィックをエグレスインターフェイス上の出力キューに転送し、次にトラフィックをネクストホップに送信する前に出力キューにトラフィックをバッファリングするというものです。イングレスポートでパケットをキューに入れる従来の方法は、異なるエグレスポート宛てのトラフィックを同じ入力キュー(バッファ)に格納することです。
輻輳期間中、スイッチはエグレスポートでパケットをドロップすることがあります。そのため、スイッチはリソースを費やしてスイッチファブリックを介してトラフィックをエグレスポートに転送し、そのトラフィックを転送する代わりにドロップする可能性があります。また、入力キューは異なるエグレスポート宛てのトラフィックを保存するため、1つのエグレスポートの輻輳が別のエグレスポートのトラフィックに影響を与える可能性があり、これをヘッド オブラインブロッキング(HOLB)と呼びます。
仮想出力キュー(VOQ)アーキテクチャは、異なるアプローチを採用しています。
-
スイッチは、入力キューと出力キュー用に個別の物理バッファを使用する代わりに、各パケット転送エンジン(PFE)チップのイングレスパイプライン上の物理バッファを使用して、すべてのエグレスポートのトラフィックを保存します。エグレスポートのすべての出力キューには、スイッチ上のすべてのPFEチップ上のすべてのイングレスパイプラインにバッファストレージスペースがあります。イングレスパイプラインのストレージスペースの出力キューへのマッピングは1対1であるため、各出力キューは各イングレスパイプラインのバッファー領域を受け取ります。
-
複数の異なる出力キュー宛てのトラフィックを含む1つの入力キュー(1対多マッピング)の代わりに、各出力キューには、その出力キュー専用の各パケット転送チップ上の入力バッファで構成される専用VOQがあります(1対1マッピング)。このアーキテクチャは、任意の2つのポート間の通信が他のポートに影響を与えるのを防ぎます。
-
VOQは、転送可能になるまで物理出力キューにトラフィックを保存する代わりに、エグレスポートにトラフィックを転送するためのリソースがあるまで、ファブリック全体のイングレスポートからエグレスポートにトラフィックを送信しません。
VOQは、1つの出力キュー宛てのトラフィックを1つのエグレスポートで受信して保存する入力キュー(バッファ)の集合です。各エグレスポートの各出力キューには専用のVOQがあり、これは、その出力キューにトラフィックを送信しているすべての入力キューで構成されています。
VOQアーキテクチャ
VOQは、特定の出力キューのイングレスバッファリングを表します。一意のバッファーIDは、PFEチップ上の各出力キューを識別します。6 つの PFE チップはそれぞれ、特定の出力キューに同じ一意のバッファー ID を使用します。6 つの PFE チップ上の特定のバッファー ID を使用して保存されたトラフィックは、1 つのポート上の 1 つの特定の出力キュー宛てのトラフィックで構成され、その出力キューの VOQ です。
72 個のエグレス ポートを持ち、各ポートに 8 つの出力キューを持つスイッチは、各 PFE チップで 576 VOQ (72 x 8 = 576)を持ちます。スイッチには6つのPFEチップがあるため、スイッチの合計VOQは3,456( 576 x 6 = 3,456)です。
VOQは、その出力キューにトラフィックをアクティブに送信しているすべてのPFEチップに分散されます。各出力キューは、すべてのPFEチップにわたってその出力キューに割り当てられたバッファの合計(固有のバッファIDによる)です。したがって、出力キュー自体は物理的入力キューで構成されていますが、出力キュー自体は物理的ではなく仮想です。
ラウンドトリップタイムバッファリング
輻輳期間中の出力キューバッファリングはありませんが(長期保存はありません)、トラフィックがイングレスからエグレスへスイッチファブリックを通過する往復時間に対応するために、エグレスラインカードには小さな物理出力キューバッファがあります。往復時間は、イングレスポートがエグレスポートリソースを要求し、リソースのエグレスポートから許可を受信し、スイッチファブリックを介してデータを送信するのにかかる時間で構成されます。
つまり、スイッチのイングレスでパケットがドロップされず、スイッチがファブリックを介してパケットをエグレスポートに転送する場合、パケットはドロップされず、ネクストホップに転送されます。すべてのパケットドロップは、ingressパイプラインで行われます。
スイッチには、遅延帯域幅バッファ(DBB)として使用する4GBの外付けDRAMがあります。DBBは、ポートがトラフィックをegressポートに転送できるようになるまで、ingressポート用のストレージを提供します。
エグレスポート帯域幅の要求と許可
パケットがイングレスポートに到着すると、イングレスパイプラインは、宛先出力キューの一意のバッファIDを持つパケットをイングレスキューに保存します。スイッチは、パケット ルックアップを実行した後にバッファリングの決定を行います。パケットが最大トラフィックしきい値を超えたクラスに属している場合、パケットはバッファリングされず、ドロップされる可能性があります。スイッチファブリックを介してegressポートにパケットを転送するには:
-
イングレス ライン カード PFE リクエスト スケジューラは、エグレス ライン カード PFE 許可スケジューラにリクエストを送信し、データが送信可能であることをエグレス PFE に通知します。
-
使用可能なエグレス帯域幅がある場合、エグレス ライン カード許可スケジューラは、イングレス ライン カード PFE に帯域幅許可を送信して応答します。
-
イングレス ライン カード PFE は、エグレス ライン カード PFE から許可を受信し、そのデータをエグレス ライン カードに送信します。
イングレスパケットは、出力キューがより多くのトラフィックを受け入れて転送する準備ができるまで、イングレスポートの入力キューのVOQに残ります。
ほとんどの場合、スイッチ ファブリックはエグレス CoS(サービス クラス)ポリシーに対して透過的であるのに十分な速度であるため、イングレス パイプラインからスイッチ ファブリックを介してエグレス ポートにトラフィックを転送するプロセスは、トラフィックに設定された CoS ポリシーに影響を与えません。ファブリックは、ファブリック障害がある場合、またはポートの公平性の問題がある場合にのみ、CoSポリシーに影響を与えます。
パケットが同じPFEチップ(ローカルスイッチング)を受信および送信する場合、パケットはスイッチファブリックを通過しません。ただし、スイッチは、ファブリックを通過するパケットと同じリクエストと許可メカニズムを使用してエグレス帯域幅を受信するため、ローカルでスイッチングされたパケットや、スイッチファブリックを通過した後にPFEチップに到着したパケットは、トラフィックが同じ出力キューをめぐって競合している場合には公平に扱われます。
VOQの利点
VOQアーキテクチャには、2つの大きなメリットがあります。
ヘッドオブラインブロッキングを排除
VOQアーキテクチャにより、ヘッドオブラインブロッキング(HOLB)の問題を解消します。非VOQスイッチでは、エグレスポートでの輻輳が輻輳していない別のエグレスポートに影響を与える場合にHOLBが発生します。HOLBは、輻輳しているポートと輻輳していないポートがイングレスインターフェイス上で同じ入力キューを共有している場合に発生します。
HOLBシナリオの例として、1つのイングレスポート(IP-1)に入るトラフィックのストリームがあり、そのトラフィックのストリームは2つの異なるエグレスポート(EP-2およびEP-3)に向けられている。
-
輻輳はエグレスポートEP-2で発生します。 図1に示すように、エグレスポートEP-3に輻輳はありません。
図1:EP-2
で発生する輻輳
-
図2に示すように、エグレスポートEP-2はイングレスポートIP-1にバックプレッシャ信号を送信します。
図2:EP-2背圧IP-1
-
背圧信号により、イングレスポートIP-1は、送信を再開する信号を受信するまでトラフィックの送信を停止し、トラフィックをバッファリングします( 図3を参照)。輻輳していない出口ポートEP-3宛てのイングレスポートIP-1に到着するトラフィックは、ポートEP-3に転送されるのではなく、輻輳ポートEP-2宛てのトラフィックと一緒にバッファリングされます。
図3:EP-2からのバックプレッションにより、IP-1はトラフィックを送信する代わりにトラフィックをバッファリングし、EP-3の
に影響を与える
-
図4に示すように、イングレスポートIP-1は、エグレスポートEP-2が十分にクリアしてイングレスポートIP-1がトラフィックの送信を再開できる場合にのみ、混雑していないエグレスポートEP-3にトラフィックを送信します。
図4:EP-2の輻輳が解消され、IP-1は両方のエグレスポートへのトラフィック送信を再開できます
このように、混雑したエグレスポートEP-2は、両方のエグレスポートがイングレスポートIP-1で同じ入力キューを共有するため、混雑していないエグレスポートEP-3に悪影響を及ぼします。
VOQアーキテクチャでは、 図5に示すように、各インターフェイスの出力キューごとに異なる専用仮想キューを作成することでHOLBを回避します。
上の個別の仮想出力キューがあります
異なるエグレス キューは同じ入力キューを共有しないため、 図 6 に示すように、あるポートで混雑したエグレス キューが別のポートのエグレス キューに影響を与えることはありません。(同じ理由で、あるポートで混雑したエグレス キューが、同じポートの別のエグレス キューに影響を与えることはできません。各出力キューには、イングレス インターフェイス入力キューで構成される専用の仮想出力キューがあります)。
には影響しない
イングレスインターフェイスでキューバッファリングを実行することで、スイッチは、エグレスキューがトラフィックを受信する準備ができている場合のみ、ファブリックを介してエグレスキューにトラフィックを送信するようになります。egressキューがトラフィックを受信する準備ができていない場合、トラフィックはingressインターフェイスでバッファリングされたままになります。
ファブリックの効率と使用率の向上
従来の出力キューアーキテクチャには、VOQアーキテクチャが対処する固有の非効率性がいくつかあります。
-
パケットバッファリング—従来のキューイングアーキテクチャは、各パケットを長期DRAMストレージに2回バッファリングします。1回はingressインターフェイスで、1回はegressインターフェイスでバッファリングします。VOQアーキテクチャは、各パケットをingressインターフェイスの長期DRAMストレージに一度だけバッファリングします。スイッチ ファブリックは、エグレス CoS ポリシーに対して透過的であるほど高速であるため、エグレス インターフェイスで 2 回パケットをバッファリングする代わりに、設定されたエグレス CoS ポリシー(スケジューリング)に影響を与えることなく、ディープ エグレス バッファを必要としない速度でトラフィックを転送できます。
-
リソースの消費—従来のキューイングアーキテクチャは、イングレスインターフェイス入力キュー(バッファ)からスイッチファブリックを介して、エグレスインターフェイス出力キュー(バッファ)にパケットを送信します。egressインターフェイスでは、スイッチがファブリックを介してパケットを転送し、egressキューに保存するためにリソースを費やしたとしても、パケットがドロップされることがあります。VOQアーキテクチャは、egressインターフェイスがトラフィックを送信する準備が整うまで、ファブリックを介してegressインターフェイスにパケットを送信しません。これにより、後でドロップするパケットの転送や保存にリソースを浪費することがないため、システム使用率が向上します。
VOQアーキテクチャとは無関係に、ジュニパーネットワークスのスイッチングアーキテクチャはパケットをセルに変換するため、ファブリックの使用率も向上します。セルのサイズが予測可能なため、スイッチでファブリックリンク全体にセルを均等にスプレーし、ファブリックリンクをよりフルに活用できます。パケットのサイズは大きく異なり、パケットサイズは予測不可能です。パケットベースのファブリックは、パケットサイズにばらつきがあり予測不可能であるため、使用率が65〜70%以下です。ジュニパーネットワークスのセルベースファブリックは、セルサイズの予測性と制御性により、ファブリック利用率を約95%実現できます。