
IoTデバイスの増加と5Gネットワークの利用可能性により、データセンターのデータ飽和度が日々高まっており、データセンターの運用者はサーバーから可能な限り多くのパフォーマンスを引き出す方法を模索しています。データセンターの運用者は、サーバーにSmartNICを追加することで、同じハードウェアからより多くのパフォーマンスを引き出すことができます。SmartNICは、サーバーのCPUからSmartNICにネットワーキング、ストレージ、およびセキュリティ機能の一部をオフロードできるため、運用者は既存のハードウェアからより多くのパフォーマンスを引き出すことができます。これは、SmartNICに搭載されている強力な処理能力とパフォーマンスアクセラレータによって可能になります。SmartNICについて議論する理由がわかったところで、通常のNICとSmartNICの違いを調べましょう。ただし、違いに入る前に、通常のNICとは何か、SmartNICとは何かを説明しましょう。
通常のNICとは?
一般にNICとして知られているネットワークインターフェースコントローラーは、コンピュータをネットワークに接続するコンピュータハードウェアコンポーネントです。通常のNICは、同じローカルエリアネットワーク(LAN)上のコンピュータ間、およびインターネットプロトコル(IP)を介した大規模ネットワーク間の通信を可能にします。今日、私たちの焦点は、その信頼性と堅牢性からデータセンターでよく使用される標準的な有線NICにあります。
SmartNICとは?
SmartNICは、ネットワーク、ストレージ、セキュリティ機能を高速化するために使用できる専用のハードウェアです。また、仮想化、ロードバランシング、データパスの最適化も実行できます。SmartNICは通常、ネットワークインターフェースコントローラー、マルチコアCPU、およびFPGAやGPUを追加するオプションで構成されています。SmartNICはコンピューティング能力を備えており、ホストサーバーからSmartNICへすべてのネットワーク機能、セキュリティ機能、ストレージ機能をオフロードし、貴重な処理能力を解放することができます。処理能力を解放することで、サーバーは収益性の高いエンタープライズアプリケーションとOSをより効率的に実行することに集中できます。さらに、VXLAN、NVGRE、Geneveプロトコルなどのネットワーク仮想化プロトコルをSmartNICにオフロードできます。また、SmartNICは、パケットインスペクション、フローテーブル処理、暗号化、VXLANオーバーレイ、NVMe-oFなどの機能を実行できます。
SmartNICと通常のNICの比較

通常のNICは、データネットワーク上のデータセンターサーバーまたはコンピュータ間の仲介役としてのみ機能します。一方、SmartNICは、通常のNICでは実行できない機能を実行するようにプログラムできます。たとえば、通常のNICは、パケットフィルタリング、タイムスタンプ、重複排除、フローシャント、フロー分類などのパケット処理機能を実行できません。基本的なNICは、ネットワーク上のコンピュータ間の通信を容易にするだけであり、他の機能を実行できるほどインテリジェントではなく、ホストシステムのCPUから機能をオフロードできるほどインテリジェントでもありません。SmartNICが実行できる、通常のNICでは実行できない機能についていくつか見ていきましょう。これは、SmartNICには通常のNICにはない計算層があるためです。この計算層により、NIC自体でカスタムソフトウェアを実行できます。
1. ネットワーク機能
SmartNICが実行できるネットワーク機能には、ルーティング、ファイアウォール、テレメトリー、ロードバランシング、NAT、オーバーレイネットワークなどがあります。これらすべてはSmartNICのCPUによって処理できるため、ホストサーバーのCPUの負荷が軽減され、他の収益性の高いエンタープライズアプリケーションを実行するためのサイクルが解放されます。
2. ストレージ機能
SmartNICはストレージコントローラーとしても機能し、データセンターサーバーに搭載されているハードディスクドライブ(HDD)またはSSD(ソリッドステートドライブ)を管理できます。さらに、SmartNICは通常、サーバー内のストレージと同じBUSに接続されています。そのため、SmartNICはストレージデバイスと直接通信でき、サーバーのCPUにデータが流れる必要がなく、代わりにストレージデバイスからSmartNICにデータが流れるだけで済みます。さらに、SmartNICはNIC自体でVMware NSXを実行できるため、ネットワーク帯域幅が向上し、遅延が削減され、CPUサイクルが解放され、アプリケーションのパフォーマンスが向上します。
3. DDoS防御
SmartNICは、データセンターサーバーをDDoS攻撃から保護できます。DDoS攻撃は、個人または組織が圧倒的な量のトラフィックでターゲットネットワークまたはサーバーを氾濫させ、ターゲットサイトまたはネットワークへの通常のトラフィックへのサービス拒否を引き起こすときに発生します。SmartNICはDDoS攻撃をブロックする能力があります。DDoS攻撃の検出と防止をホストサーバーからSmartNICにオフロードすることで、メインシステムのCPUがDDoS攻撃によって圧倒されるのを防ぎ、DDoS緩和能力を向上させます。これは、SmartNICをプログラムしてDDoS攻撃パケットを動的にドロップできるためです。F5は、SmartNICを搭載したデータセンターサーバーは、SmartNICを搭載していないサーバーと比較して300倍のDDoS攻撃に耐えることができると主張しています。さらに、SmartNICは、Ip Tablesが機能するのと同様に、すべての受信および送信パケットをフィルタリングでき、ネットワークトラフィックをフィルタリングするための堅牢なアーキテクチャを提供します。
4. 暗号化
また、DPUは、サーバーのCPUからDPUへのデータ暗号化をオフロードすることで、データセンターサーバーを高速化できます。データ処理ユニットには、真の乱数ジェネレーター、組み込みのPKIエンジン、セッションキーをメモリ内で暗号化されたままにするセキュアなキー保管庫など、ハードウェアベースの暗号化およびキーインフラストラクチャエンジンが組み込まれています。さらに、セキュリティに関して言えば、SmartNICはホストシステムのオペレーティングシステムとSmartNICのオペレーティングシステムの間にエアギャップを作成するため、SmartNICのOSへの攻撃を防ぎ、重要なセキュリティを提供します。
5. CPUからSmartNICへのタスクオフロード
SmartNICがサーバーのCPUから計算集約型タスクをSmartNICにオフロードする能力は、データセンターにとって非常に重要です。なぜなら、運用者は通常、既存のハードウェアから可能な限り多くのパフォーマンスを引き出したいと考えており、SmartNICはホストサーバーのCPUからSmartNICのマルチコアプロセッサにタスクをオフロードすることでそれを可能にするからです。SmartNICは、既存のハードウェアをすべて交換することなく、データセンターの運用者により多くのパフォーマンスを提供します。SmartNICは、PCIeスロットを介して接続されるため、従来のデータセンターサーバーに簡単に統合できます。
通常のNICとSmartNICの主なコンポーネントとは?
通常のNICは、イーサネットポート、通信されるデータを保存するための少量のメモリ、およびデータメッセージを通信できるように変換するための低電力プロセッサで構成されています。一方、SmartNICは、強力なマルチコアプロセッサ、10/25/50/100/200ギガビットイーサネットポートを備えた高性能ネットワークインターフェースコントローラー、および特定のアプリケーションのパフォーマンスを向上させるための柔軟でプログラム可能な豊富なアクセラレーションエンジンを使用して作られています。さらに、一部のSmartNICには、機械学習や深層学習などのAIワークロードを高速化するためにGPUも搭載されています。したがって、この時点でわかるように、SmartNICは通常のNICよりもはるかに強力で、よりインテリジェントにする技術を備えています。とはいえ、通常のNICは、データセンターサーバーとコンピュータ間でデータを移動するために、SmartNICを搭載したサーバーでもまだよく使用されています。
データセンターは他にどのようなパフォーマンスアクセラレータを使用していますか?
データ量の増加とデータアクセス速度の向上に対応するために、データセンターで使用されている他のパフォーマンスアクセラレータをいくつか見ていきましょう。パフォーマンスアクセラレータには、GPU(グラフィックス処理ユニット)、コンピュテーショナルストレージデバイス(CSD)、FPGAなどがあります。
1. GPU (Graphics Processing Unit)

出典(Nvidia)
GPUは、数学的演算を伴うワークロードを高速化するために、サーバに追加されることがよくあります。GPUは、数千個の小さなコアを持つことが多いため、このようなワークロードに最適で、多くのタスクを並行して実行できます。このため、GPUは、機械学習や深層学習などの要求の厳しいワークロードに多く使用されています。これは、複数の計算を同時に処理できるためです。さらに、GPUは、CPUよりもはるかに大量のデータを処理できます。したがって、処理されるデータ量が多ければ多いほど、GPUを追加することでサーバーのパフォーマンスが向上する可能性が高くなります。GPUがデータを並行して処理できるため、人工知能、高解像度ビデオ編集、医療画像処理、その他多くの要求の厳しいワークロードの実行を担うサーバーに最適です。
2. CSD(コンピュテーショナルストレージデバイス)

出典(Samsung)
コンピュテーショナルストレージは、データセンターサーバーでサーバーを高速化するために使用されるもう1つのパフォーマンスアクセラレータです。コンピュテーショナルストレージデバイスは、マルチコアプロセッサを搭載している点で通常のストレージデバイスとは異なり、ストレージデバイスレベルでデータを処理できます。ストレージデバイスレベルでデータを処理することで、データをCPUに送信する必要がないため、メインCPUへの負担が軽減されます。さらに、ストレージデバイスレベルでデータを処理することで、組織はリアルタイムで貴重な洞察を抽出できます。また、コンピュテーショナルストレージデバイスを使用すると、データがストレージデバイス自体で処理されるため、システムを介してCPUにデータを転送する必要がなくなり、レイテンシが低減されます。さらに、データはストレージデバイスで処理され、転送する必要がないため、データの不正使用に対する脆弱性が低くなります。さらに、当社のシステムは、CPUやRAMを介さずに、あるデバイスから別のデバイスにデータを直接送信できるPeer to Peer DMAをサポートしています。これにより、PCIeバスを介してあるデバイスから別のデバイスにデータを送信する際に、CPUオーバーヘッドや同期の必要がなくなるため、非常に優れています。また、レイテンシが低減され、データ転送が少なくなるため、貴重なPCIe帯域幅が解放されます。
3. FPGA(Field Programmable Gate Array)

出典(Mouser Electronics)
FPGAは、論理ブロック、I/Oセル、およびその他のパフォーマンスアクセラレータから構成される集積回路であり、ユーザーの特定の要件に応じて再プログラムおよび再構成できます。FPGAは、機械学習や深層学習などの人工知能ワークロードを高速化する能力から、人気を集めています。FPGAは、その再プログラム可能な性質から、SmartNICの製造にも使用されています。FPGAベースのSmartNICは、ホストサーバーのCPUからSmartNICにネットワーク、ストレージ、セキュリティ機能をオフロードできるため、貴重なCPUサイクルをエンタープライズアプリケーションやオペレーティングシステムの実行に解放できます。FPGAのカスタマイズ性と現在のタスクへの適応性は、他に類を見ません。とはいえ、FPGAのプログラミングを任された個人には専門的なトレーニングが必要です。
結論
結論として、SmartNICは、マルチコアプロセッサとパフォーマンスアクセラレータを搭載しているため、通常のNICよりもはるかにインテリジェントです。これらのアクセラレータは、データセンターサーバーのCPUからSmartNICにネットワーク、セキュリティ、ストレージ機能の処理をオフロードできるため、貴重なCPUサイクルを解放し、収益を上げるエンタープライズアプリケーションのパフォーマンス向上に利用できます。保存およびアクセスされるデータ量と速度が増加し続けるにつれて、収益を上げるアプリケーションのパフォーマンスを向上させるためにCPUサイクルを解放することがますます重要になっています。ムーアの法則が減速し、プロセッサのパフォーマンス改善が鈍化しているため、データセンターのオペレーターは、SmartNIC対応サーバーなどのパフォーマンスアクセラレータを検討して、データセンターのパフォーマンスを向上させています。さらに、SmartNICはプログラム可能であるためインテリジェントであり、OEMや展開する組織に、特定の要件に合わせてプログラムできる堅牢なプラットフォームを提供します。Premioでは、さまざまなSmartNICサーバーをご用意しています。SmartNICを搭載したサーバーの選択にサポートが必要な場合は、お問い合わせください。弊社のSmartNICサーバーの専門家が、お客様の特定の要件を満たすソリューションの選択をお手伝いします。
