としてノードのJsを使用すると、エラーの面でメッセージパッシング層
(client)C# tcp ip <--------------------------------->C#/Java tcp ip (server)
socket 100/1000 Mbit/s LAN socket
は、ハーフオープン接続として(取り扱い、確認応答パケット管理および右側のウィンドウ/バッファを取り上げるよりも、
(client) node-js http request <-----------> node-js http listen (server)
^ 100/1000 MBit/s ^
| LAN |
v v
a file in ramdrive a file in ramdrive
^ ^
| |
v v
C# program requesting C# or Java program
compute on data computing
簡単ですサイズ)とスケーラビリティ(ツリー状の接続を使用して10〜100台のサーバ)
node-jsレイヤーがI/Oのためだけに使用される場合、基本的なスイッチ/ルータ(たとえば、無限大ではない)のクラスタのMPIよりも優れていますか?
今のところ、私はtcp-ipオプションを試していますが、すでに処理するには余りにも多くの例外があり、完成したものは遠いからです。デスクトップOSのために最大接続数があり、配列のシリアライズにはサーバーとクライアントのエンディアンをチェックする必要があります。データを送信/計算する前にカウンタポーズする必要があります。またどこでも非同期的に最適です。私はちょうど1つの接続バージョンのための1つのスレッドで始めました。スレッド版には、計算デバイス情報とコンパイル済みカーネル(opencl用)を保持する永続的なローカルデータもあります。
私が正しく理解していれば、mpiとnode-jの両方がサーバとクライアントにランタイムをインストールする必要がありますが、tcp-ipにはそのようなことは必要ありません。しかし、これは他の困難を和らげないでしょうか?
node-jsとC#の間にramdriveを追加することは、tcp接続よりも心配することなくnode-js(とC#)からファイルにアクセスするのが簡単だと思いました。 Httpのリスニングは、データを渡す直前のnode-jsではほぼ1ライナーです。
詳細を知らなくても、HTTPレベルの解決策はソケットレベルの場合よりも遅くなります。 Zeromqは、この種の問題に対する非常に優れたソリューションです。 – Hosar