ネットワークインターフェイスコントローラー

ATMネットワークインターフェイス。

Intel 82574LギガビットイーサネットNIC、PCI Express×1カード、2つのハードウェア受信キューを提供

マルチキューNICは、複数の送信キューと受信キューを提供し、NICが受信したパケットをその受信キューの1つに割り当てることができます。 NICは、ハッシュ関数を使用して受信キュー間で着信トラフィックを分散する場合があります。各受信キューは個別の割り込みに割り当てられます。これらの各割り込みを異なるCPUまたはCPUコアにルーティングすることにより、単一のNICによって受信されたネットワークトラフィックによってトリガーされた割り込み要求の処理を分散でき、パフォーマンスが向上します。

割り込みのハードウェアベースの分散、上記は、受信側スケーリング(RSS)と呼ばれます。:82受信パケットステアリング(RPS)や受信フローステアリング(RFS)など、純粋にソフトウェアの実装も存在します。割り込みを生成したネットワークパケットの最終的な宛先であるアプリケーションを実行しているCPUまたはコアに割り込み要求をルーティングすることで、パフォーマンスをさらに向上させることができます。この手法により、参照の局所性が向上し、CPUキャッシュの使用率が高くなり、必要なコンテキストスイッチが少なくなるため、全体的なパフォーマンスが向上し、遅延が減少し、ハードウェアの使用率が向上します。このような実装の例としては、RFSやIntel Flow Directorがあります。:98,99

マルチキューNICを使用すると、送信トラフィックを異なる送信キューに分散することで、パフォーマンスをさらに向上させることができます。異なる送信キューを異なるCPUまたはCPUコアに割り当てることにより、内部オペレーティングシステムの競合を回避できます。このアプローチは通常、送信パケットステアリング(XPS)と呼ばれます。

一部の製品は、SR-IOV仮想化を使用して単一の10ギガビットイーサネットNICを分割するNICパーティショニング(NPAR、ポートパーティショニングとも呼ばれます)を備えています。専用帯域幅を備えた複数の個別の仮想NIC。これらは個別のPCIデバイス機能としてファームウェアとオペレーティングシステムに提供されます。

TCPオフロードエンジンは、TCP / IPスタック全体の処理をオフロードするために一部のNICで使用されるテクノロジーです。ネットワークコントローラに。これは主に、ネットワークスタックの処理オーバーヘッドが大きくなるギガビットイーサネットや10ギガビットイーサネットなどの高速ネットワークインターフェイスで使用されます。

一部のNICは、統合されたフィールドプログラマブルゲートアレイ(FPGA)を提供します。 )ネットワークトラフィックがホストコンピュータに到達する前にユーザーがプログラム可能な処理を行うため、時間に敏感なワークロードの待ち時間を大幅に短縮できます。さらに、一部のNICは、オペレーティングシステムカーネルによって通常実行されるネットワーク操作をインターセプトするユーザースペースライブラリと組み合わせて、統合FPGAで実行される完全な低遅延TCP / IPスタックを提供します。 Linux上で実行されるSolarflareのオープンソースOpenOnloadネットワークスタックはその一例です。この種の機能は通常、ユーザーレベルのネットワークと呼ばれます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です