3

私は Intel DPDK の初心者です。http Web サーバーを作成する予定です。

DPDK を使用して次のロジックを使用して実装できますか?

  1. パケットを取得してワーカー論理コアに送信します。
  2. 着信パケットを使用して、クライアントから送信されたワーカー論理コア ビルド 'http reuqest'。
  3. ワーカー論理コアで「http リクエスト」を処理し、「http レスポンス」を生成します。
  4. 「http 応答」のパケットを作成し、出力ソフトウェア リングにディスパッチします。

上記が実現可能かどうかはわかりません。

Intel DPDK を使用して Web サーバーを作成することはできますか?

4

2 に答える 2

2

はい、DPDK を使用して Web サーバーを構築することは可能です。DPDK が提供する KNI インターフェイスを使用することもできます。KNI インターフェイスで受信されたすべてのパケットは、引き続きカーネル ネットワーク スタックを介してルーティングされますが、これはカーネルから直接パケットを受信するよりも高速です (複数のコピーが必要です)。DPDK を使用すると、コアを RX に、別の lcore を TX に ping することができます。次に、これらの lcore を他の目的で使用しないように OS に指示できます。したがって、パケット TX および RX 用に専用の lcore が実際に存在します。Tx と RX の lcore が異なる CPU ソケット上にあることを確認します。

詳細情報: http://dpdk.org/doc/guides/sample_app_ug/kernel_nic_interface.html

于 2015-07-03T08:37:16.603 に答える
2

DPDK の上に TCP/IP スタックが必要になるため、多くの作業が必要です。DPDK の上に TCP/IP スタックを移植した (または OS からポートを再利用した) 場合でも、パフォーマンスは得られません。実行される C コードを書くのは簡単だからです。良いパフォーマンスを維持するスタック、それは非常に難しい開発です。

http://www.6wind.com/6windgate-performance/tcp-termination/を試すことができます。これらは HTTP サーバーを提供しませんが、L7 のような TCP ソケット サポートを提供して、最速の HTTP サーバーを構築します。

于 2015-02-10T09:39:20.007 に答える