ポータブルグリッドエンジンプラットフォーム
-
11-12-2019 - |
質問
アプリケーションに簡単に埋め込むことができる分散コンピューティングプラットフォームを探しています。
MPIを調査しましたが、私が見たものから、各タスクに実行可能ファイルを作成し、mpirun
を使用して起動されます。除外していない、外部の実行可能ファイルとしてではなく、アプリケーションに埋め込むだけです(可能であれば)。
あなたは、ユーザー、そのような枠組み(好ましくはオープンソース)を知っていますか?また、私の心を構成するために、いくつかの使用サンプルがいいでしょう。
可能であれば、解決策が展開されるLAN内の局としてのクロスプラットフォームソリューションに興味があります。
提案と特にコード例は高く評価されています。
解決
4つのシステムはMPIから脇に留まります:AMQP、 zeromq 、 cilk 、そしてアクター。
AMQPは、メッセージを処理/配布するために中央メッセージブローカーを使用してシステム間の通信に渡されるメッセージを使用します。いくつかの実装は受信機への適切な配信が遅いですが(TCPと同様)。いくつかの実装は火事で忘れて、Guarenteed配達を禁止していますが、より速い(UDPと似ています)。注AMQPは、実装ではなく、一般的な実装ではなく、 activemq と Rabbitmq 。
ZEROMQ は、AMQPマイナス中央メッセージブローカーと似た少しです。基本的に俳優スタイルです。私はそれがよりプログラム的な場所であると信じています、あなたがエンドツーエンドの方法であなたのシステムを設計することを可能にします。それは分散化されています(中央メッセージブローカーなし)、ベンチマークはAMQP実装よりもはるかに速いことを示すように見えます。
cilk であまり経験がありません。 C / C ++で動作するように設計されているMITからのサポートされているプロジェクト。
俳優は、erlangと最近で普及している akka プロジェクトの両方で普及しています。 (Scala、Java)。私が知っているC ++互換のバージョンは、その俳優CPP、およびlibcppaですが、リモートアクターのどれがサポートされているのかわかりません。
他のヒント
私は hazelcast は環境にそうなものです。埋め込み型分散コンピューティングしかし、それはC.ではなく、Javaにありますが、JavaからCを呼び出すことができます。