2

可能な限り短時間でデータのパケットを読み取るための代替方法は何ですか?

ユーザー空間でドライバーを作成しますか?

ネットワーク カード用のドライバを書いたことはありません (ただし、オペレーティング システム全体を書くほど難しくなければ、興味はありますか?)。Linux のどこかに存在するはずの既存のドライバー コードを取得し、文字通りこれをユーザー空間に "移植" することはできますか? Linux カーネル ドライバーと私のドライバーの両方が同じパケットを競合しようとしますか?

ドライバーを作成するのではなく、C/C++ アプリケーションからスタックの直後のネットワーク データにアクセスしますか?

私はこのアプローチについてあまり知らないので、誰かがここで助けてくれるなら、私は興味があります.

私は、独自のゼロコピー技術を実装して、パケット データを可能な限り高速に取得することに関心があります。このコンピュータは、通常のインターネットを使用する必要はありません。2 台のコンピュータ間の独自のネットワーク接続 (TCP および UDP 用) である可能性があります。

編集:

スループットではなくレイテンシーを意味します

4

2 に答える 2

2

Linux でパケットを受信するための最小の遅延は、あなたが言うように、特別なドライバーを必要とする Linux カーネルをバイパスすることです。Mellanox、Solarflare、Myricom、Chelsio などのハイエンド ネットワーク アダプタは、カーネル バイパス ソフトウェアを提供します。たとえば、Mellanox は、ConnectX-3 カードと VMA 6.0 ソフトウェアを使用すると、2 マイクロ秒未満でパケットを受信できると主張しています。

今週、Mellanox は VMA 6.0 Messaging Accelerator の最新バージョンを発表しました。これには、ConnectX-3 VPI アダプター カードでの強化された TCP および UDP アクセラレーション サポートが含まれています。1.4 マイクロ秒未満の超低 UDP レイテンシーと 1.7 マイクロ秒未満の TCP ソケット レイテンシーを備えたこのメッセージング テクノロジは、競合製品よりも 2 倍以上高速であると報告されています。

http://insidehpc.com/2012/01/10/interview-mellanox-vma-6-0-tackles-latency-for-high-frequency-trading/

于 2013-08-16T21:46:22.387 に答える