ASIC vs x86汎用ルーティング/スイッチング


14

SysAdminsは、x86汎用OSが1 MHzのラインレートで低MHz CPUと専用シリコン(つまりASIC)を備えたルーターと同様に機能することをしばしば確信させようとします。この考え方は、VMWareの仮想スイッチなどのSDN領域に引き継がれています。

特にマイクロバーストに関してトラフィックを処理する場合のASICとx86の利点の違いを直感的に理解できていると思います。ルーターまたはスイッチインターフェイスのASIC が、CPU割り込みの影響を非常に受けるすべてのパケット処理でx86 CPUの使用を上回ると仮定するのは正しいですか?OS(Windows、Linux、または専用)がハードウェアのパフォーマンスに大きく貢献し、ルーティングや切り替えも行うことを知っています。そして、特にレートが1Gbpsを超えると、x86バス速度がスイッチング帯域幅に理論上の最大値を課すことを知っています。

  1. たとえば、Catalyst 6500 Sup2T ASICスイッチング速度は、一般的なOSやSDNで見られる現実的なx86スイッチング速度と比較してどうですか?

  2. Cisco 7200VXR-NPE-G2のスイッチング速度は、たとえば同じものと比較してどうですか?

  3. 同じ機能を実行する一般的なOSと比較して、典型的なルーターまたはスイッチのレイテンシはどうですか?

注:仮想および物理ネットワーク内での仮想スイッチの配置やその役割のメリットを聞きたくありません。また、アプリケーションの展開までの時間に関するSDNのメリットについても議論したくありません。

回答:


19

ルーターまたはスイッチインターフェイスのASICが、CPU割り込みの影響を非常に受けるすべてのパケット処理でx86 CPUの使用を上回ると仮定するのは正しいですか?

質問のこの部分では特定のCPU、オペレーティングシステム、またはルーターモデルを指定していないため、割り込みが制限であるかどうかを具体的に言うのは困難です。全体として、汎用CPUが適切に設計されたASICのパケット交換パフォーマンスに影響を与えないことは安全な一般化です。パフォーマンスとは、RFC 2544メトリックス、たとえば、ドロップなしの1秒あたりの転送レート(NDR)、スループット、待ち時間などのことです。

CPUベースのルーターの場所がないと言っているわけではありません。私たちの人生の経験から、CPUはASICやFPGAほど速くパケットを交換できないことがわかります。ASIC / FPGAがマルチコアCPUよりも高速であるという私の結論は、Electronics.SEに関するこのQ&Aによって補強されるようです。

PCIバスのパフォーマンス

x86バス速度は、特にレートが1Gbpsを超えると、スイッチング帯域幅に理論上の最大値を課すことを知っています。

ここで参照しているバスの制限はわかりませんが、持っている情報は多少古くなっている可能性があります。ほとんどのシステムで使用されるPCI Expressバスは、最近では10 Gbpsを大きく上回ります。

PCIe 2.0は、8b / 10bエンコードスキームを使用しており、PCIレーンエンコードオーバーヘッドに対して約20%のペナルティを科しています。エンコードのペナルティが発生する前に、PCIe 2.0はレーンあたり4Gbpsの生帯域幅を提供します。ただし、8b / 10bの20%のペナルティがあっても、PCIe 2.0 x8(8個のPCIeレーン)は25Gbpsを超えて圧縮されます。したがって、PCIe 2.0 x8カードで双方向のラインレートで単一の10GEアダプターを簡単に実行できます。

PCIe 3.0(Intel Ivy Bridgeチップセットで使用)は128b / 130bエンコードを使用します。これにより、PCIバスの効率が大幅に向上し、レーンごとの帯域幅が2倍になります。したがって、PCIe 3.0 x8カードは63Gbps(8.0 * 8 * 128/132)を提供できます。これはくしゃみをするものではありません。これらのパフォーマンスレートで、1つのライザーに2つのラインレート10GEを安全にパックできます。

シスコとVyattaのパフォーマンス

警告:ベンダーが提供するマーケティング資料をすべての比較に使用しています...

  1. たとえば、Catalyst 6500 Sup2T ASICスイッチング速度は、一般的なOSやSDNで見られる現実的なx86スイッチング速度と比較してどうですか?

完全に分散したスイッチングシステム(Sup2T)と集中型スイッチングシステム(Vyatta)を比較するため、これは少し難しいので、結果を注意深く解釈してください。

  • Sup2Tは、機能が有効な場合、最大60Mppsのノンドロップレート転送できます。参考:のCatalyst 6500 SUP2Tアーキテクチャ白書。これは、Distributed Forwarding Cards(DFC)のない単なるSup2Tシステムであることに注意してください。注1
  • 最大20.58MppsのノンドロップレートでのVyatta 5600転送のRFC 2544テスト結果、およびドロップを受け入れることができる場合は70Mppsのテスト結果を見つけました。NDRスループットは72Gbpsでした。参照:Vyatta 5600 vRouter Performance Test(SDN Central)。完全なレポートを表示するには、SDN Centralの登録が必要です。
  1. Cisco 7200VXR-NPE-G2のスイッチング速度は、たとえば同じものと比較してどうですか?

VyattaはNPE-G2を水から吹き出します。NPE-G2は、Cisco NPE-G2データシートに基づいて最大2Mppsを実行できます。NPE-G2と10GEカードが詰め込まれた最新のIntel 10-Coreシステムを比較すると、これは実際には公平な比較ではありません。

同じ機能を実行する一般的なOSと比較して、典型的なルーターまたはスイッチのレイテンシはどうですか?

それは素晴らしい質問です。このホワイトペーパーでは、Vyattaのレイテンシが高いことを示していますが、Intel E5シリーズCPUに対してこの種のテストが行​​われることを期待しています。

概要

Sup2TとBrocade Vyatta 5600を並べて比較した要約:

  • Sup2T:機能付きの60Mpps NDR IPv4(ACLなど)
  • VyattaおよびIntel E5:機能なしで最大20MppsのIPv4 NDR 、または少数のドロップを受け入れることができる場合は70Mpps。

私の意見では、特にSup2Tで得られるもの(720Mpps、MPLS、無数のMIB、Layer2およびLayer3スイッチングなどへの分散スケール)を見ると、Sup2Tが依然として勝っています。

必要なのが生のスイッチングパフォーマンスだけであれば、x86 CPUからかなりのパフォーマンス値を得ることができます。ただし、実際のネットワークでは、誰が最高のドラッグレース番号を持っているかだけではありません。ほとんどの人は機能について心配する必要がありますスイッチ評価の各値にいつ焦点を合わせるべきですか?を参照)。考慮すべき大きな要因は、使用可能な機能の数と、それらがネットワークの他の部分とどのように統合されるかです。

また、会社でx86ベースのシステムを使用する運用上の実現可能性を検討する価値があります。私は自分でBrocade + Vyattaを使用したことはありませんが、良いショーコマンドを作成し、ボックスへのサポートフックを構築することはできます。それらが実際に十分な機能をサポートし、それらのシステムが実際のネットワークでうまくスケールするなら、それがあなたが好きなものであるなら、それを選んでください。

しかし、誰かが安くなり、Linuxボックス+ bird/ quagga+ ACL + qosを構築するだけなら、私はそのソリューションをサポートする人にはなりたくないでしょう。オープンソースコミュニティは革新的な仕事をしているが、主流のネットワークベンダー(Arista / Cisco / Force10 / Juniper)と比較すると、システムのサポート性は劣っています。一つは、唯一のを見て必要iptablestcCLIを作ることができますどれだけ回旋見るために。パケットカウンターが正しくないため、ip link showまたはの出力を確認したりifconfig、使い物にならない人から質問をすることがあります。通常、主要なネットワークベンダーは、Linux NICドライバーで見られるよりも、カウンターをテストする方がはるかに優れています。


終了ノート

注1パフォーマンスを気にする人は誰もSup2Tを購入し、シャーシにDFCを装着することに失敗することはありません。Sup2Tは60Mppsで切り替えることができますが、DFCを搭載したシャーシは720Mppsまで拡張できます。

注2 Vyattaテストは、デュアルプロセッサー、10コアIntel E5-2670v2、コアあたり2.5Ghzで実行しました。1つのコアを2つの仮想コア(つまり、ハイパースレッディング)としてカウントすると、パケットスイッチングで合計40コアになります。VyattaはIntel x520-DA2 NICで構成され、Brocade Vyattaバージョン3.2を使用しました。


1
これらの数字でのフレームサイズを知っていますか?Vyattaのエグゼクティブサマリーは、64Bフレームで70Mppsを達成したと述べています。Sup2Tテストで使用されているのと同じフレームサイズですか?
ライアンフォーリー14年

0

7200シリーズは、ラインレートのマルチギガビットスイッチングを処理できないため、ASRシリーズを支持して廃止されています。CatalystおよびNexusスイッチは、パケットスイッチングがシリコンに留まっている場合、汎用プロセッサよりも転送が有利です。トラフィックをプロセススイッチングする必要がある場合(つまり、ASIC / FPGAではなくCPUで評価する必要がある場合)、スループットが低下し、遅延が増加します。このため、高スループットスイッチングが必要な場合は、転送プレーンをルーティングプレーンから分離し、可能な限りシリコンでスイッチングを維持するように最適化します。

場合によっては、汎用プロセッサ(トップスイッチ、ディストリビューション、またはオーバーレイ用にBig Switchまたは他のSDNを使用するためのホワイトボックススイッチなど)と結婚した特殊用途のスイッチングシリコンが表示されます。すべての世界で最高のものを見ることができます(高スループット、低遅延スイッチング、ルートおよびポリシー決定のための高電力処理、PuppetやChefなどの管理フレームワークとの統合)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.