分散コンピューティング フレームワーク (.NET) - 特に CPU を集中的に使用する操作向け [終了]
-
20-09-2019 - |
質問
私は現在、分散アプリケーションの開発に利用できるオプション (オープンソースと商用の両方) を調査しています。
「分散システムは、コンピュータネットワークを介して通信する複数の自律型コンピュータで構成されています。」ウィキペディア
このアプリケーションは高度な配布に重点を置いています CPU集中型 (データ集約型ではなく) 操作が必要なため、MapReduce ソリューションはこの要件に適合しないと確信しています。
推奨できるフレームワーク (+ 経験や他のフレームワークとの比較の簡単な概要) をいただければ幸いです。
解決
MPAPI フレームワーク - http://www.codeplex.com/MPAPI
私の考え
- より簡単な解決策の 1 つであるようです。
- フェイルオーバーがサポートされているという証拠は見当たりません。
- オープンソース =] で MONO 互換です やったー!
- 「RemotingLite」フレームワークを使用しているため、モノラル互換性があります。
- 単一コンピューターまたは複数コンピューター (クラスター) アプリケーションの作成も同様に簡単です。
- 開発者の哲学は「パフォーマンスが最優先」です。したがって、彼は最適化したと言っても過言ではありません。
- 継続的に更新されるフレームワーク。
他のヒント
私はALCHEMI上のリード開発者の一人でした。 私たちは、新鮮な開始されているコースを変更するには持っていた、との結果がUtilifyプラットフォームです。 ALCHEMIと概念的に類似した、UtilifyプラットフォームはALCHEMIから学んだ教訓の上に構築され、Windowsネットワーク上に分散した.NETアプリケーションを構築するために、より柔軟なプログラミングモデルを提供しています。
詳細についてはwww.utilify.comをご覧ください。現在、ダウンロード可能な無料のベータ版があります。
よろしく、 クリシュナます。
Appistry CloudIQ プラットフォーム http://www.appistry.com
- 何百ものマシンが 1 つのコンピューティング リソースのように見えます。
- 現在本番環境で使用されているのは、 フェデックス ルーティングアルゴリズムを実行するには
- C、C++、Java、.Net でアプリを作成できます。
- 単一障害点がない
- 失敗したタスクの自動回復/再試行
アルケミ「.NETグリッドコンピューティングフレームワーク」
http://www.gridbus.org/~alchemi/publications.html
http://sourceforge.net/projects/alchemi/files/
Alchemi は、イントラネットおよびインターネットに接続されたマシンの計算能力を仮想スーパーコンピューター (計算グリッド) に簡単に集約し、グリッド上で実行するアプリケーションを開発できるようにする .NET グリッド コンピューティング フレームワークです。
簡単なメモ:
- 2007 バージョン 1.0.6 (.NET 2.0) で更新が停止されました。
- 正式にそうすることが十分に文書化されています。
- XML を使用してジョブを定義します。(2007 年には、あらゆるものに XML を使用することが大流行しました)
- MPAPI に比べて比較的複雑ですが、これを大きなマイナスとして捉えないでください。
- スピードを上げるにはかなりの時間がかかるでしょう。
- オープンソースです =)。
- 拡張可能であり、Gridbus ブローカー (http://www.gridbus.org)
- 広く使用されているようです (出版物を参照) http://www.gridbus.org/~alchemi/publications.html) =)
アズールグリッド - http://azuregrid.codeplex.com/
- Neudesic グリッド コンピューティング フレームワークのコミュニティ エディション (http://www.neudesic.com/insight/Publications/Pages/PUB20090428.aspx)
- ジョブの実行を開始および監視するための GUI が含まれています。
- パート1:Azure 上のグリッド コンピューティングの設計パターン。
- パート2:Azure グリッド アプリケーションのコーディング。
- パート 3:Azure グリッド アプリケーションの実行。
の DryadLINQ のには、マイクロソフトリサーチでありますパラレルLINQが行うようにLINQクエリは、複数のコンピュータだけではなく、複数のコア間で分配されることを可能にするプロジェクトます。
簡単な例で、AWS SDK for .NET - http://aws.amazon.com/sdkfornet/
このクラウド製品と .NET API もこの要件に適合する可能性があると思います。Amazon は高性能マシンを提供しています (価格表を参照) これにより、CPU を大量に使用する操作を大規模に実行する委任が可能になります。
Nグリッド - http://ngrid.sourceforge.net/
概要
NGrid は、C# で書かれたオープン ソース (LGPL) グリッド コンピューティング フレームワークです。
- Mono経由でプラットフォームに依存しない プロジェクト。
- 透過的なマルチスレッドプログラミング グリッドプログラミングのモデル。
- 物理グリッドの枠組みと何らかのグリッド 実装。
- グリッドの両方に共通のユーティリティ プログラミングまたはグリッド実装。
- 最終更新日: 2008 年 5 月