通信用にPCIeをPCIeに直接接続

通信用にPCIeをPCIeに直接接続

PCIe x1 - PCIe x1ケーブルを使用してFedoraを実行している2つのマザーボードを接続したい場合があります。 2つのマザーボードは1 cmの距離を置いて並んで配置されています。接続の目的は、Ethernetを介して接続されているかのように、コンピュータ1のアプリケーションがコンピュータ2の他のアプリケーションと通信できるようにすることです。

コンピュータ1はイーサネットを介してネットワークに接続され、コンピュータ1を介してコンピュータ2へのネットワークアクセスが必要である。

イーサネットケーブルを使用してコンピュータを接続し、コンピュータ1の2つのポートをブリッジすると、解決策があることに気づきました。ただし、背面パネルのポートではなくマザーボードヘッダーを使用して2台のコンピュータを接続したいという理由があります。

また、各PCIeポートのイーサネットデバイスにPCIeを接続し、その間に短いイーサネットケーブルを接続できることにも気づきました。しかし、私はこの複雑さを望んでいません。

簡単なポートポートケーブルでPCIe x1オンボードポートを使用してこのソリューションを実装できるかどうか疑問に思います。

もう1つの方法はCOMポートを使用することですが、読んだ内容によると、PCIeを使用するとより良いパフォーマンスが得られるという。

ベストアンサー1

実際、COMポートと比較してPCIeを使用すると、より良いパフォーマンスが得られます。単一の PCIe v3.x リンク Mbps を使用する 7880 に比べて非常に高速な COM ポートを使用すると、0.92 Mbps を実現できます。

残念ながら、単純なポート間ケーブルはここでは考えられる解決策ではありません。

カードスロットのPCIeポートは次の専用です。下流ポート、そのデバイスと通信する必要があります。アップストリームポートPCIeカード自体にあります。あるダウンストリームポートを別のダウンストリームポートに接続しようとしていますが、これはPCIe規格では許可されていません。

この問題を解決できるとしても、両方のコンピュータのそれぞれが他のコンピュータのシステムバスに制限なく直接アクセスできることを意味します。デフォルトでは、2つの別々のコンピュータと見なされず、2つの半分の間にかなり深刻なボトルネックを持つ単一のNUMAシステムに似ています(単一のPCIe x1接続のみを使用する場合)。システムの2つの部分間でアクセスを同期させる方法がないと、非常に困難なプログラミング問題を解決するためにハードウェアの複雑さを犠牲にします。どちらの部分も独立して動作するように設計された一般的なマザーボードであるため、必要な最小限のハードウェア同期修正も不可能です。

しかし、あなたが達成しようとする概念は新しいものではありません。不透明な橋Linuxカーネルでは、これらの機能をサポートするインフラストラクチャがカーネルバージョン3.9以降に存在します。持つこれでNTBのハードウェア実装がサポートされます。(これらはほとんどかなり重要なサーバークラスのハードウェアの一部であることがわかります)。ntb_netdevNTBリンクを非常に高速なイーサネットデバイスのように見せるドライバもあります。

したがって、アイデアを実装するには、いくつかの既存のNTBチップを研究し、ニーズに合ったものを選択し、そのためのPCBを設計し(高周波信号を処理します)、それを構築し、Linuxカーネルに必要なパッチを開発する必要があります。具体的な実装をサポートし、最終的にすべてをデバッグします。

本当に驚くべきハードウェアエンジニアはこれを「簡単」と言うことができますが、複数のデータセンターをソリューションで埋めることを計画していない一般の人にとっては、短いイーサネットケーブルははるかに簡単です。

おすすめ記事