3

私が探しているのは、次のいずれか/すべてです。

  • ワーカー障害の自動検出 (たとえば、コンピューターの電源がオフになっている)
  • 特定の IP アドレス範囲で実行中のすべての (Linux) PC の検出 (コンピューターがオンの場合)
  • ...そして自動ワーカー生成 (ping+ssh?)
  • ワーカーが他のプロセスの速度を落とさないように負荷を分散する (いいね?)
  • ある種のメッセージパッシング

...そして車輪の再発明をしたくありません。

C++ ライブラリ、bash スクリプト、スタンドアロン プログラムなど、すべて大歓迎です。

ソフトウェアの例を挙げるなら、上記の機能のうち、どのようなものか教えてください。

4

5 に答える 5

4

C/C++ グループ通信システムであるSpread Toolkitを調べてください。これにより、ノード/プロセスの障害と回復/起動を検出し、分散されたワークロードのバランスを取り直すことができます。

于 2009-05-30T09:26:29.190 に答える
2

あなたが探しているのは「ジョブスケジューラ」と呼ばれています。市場には多くのジョブスケジューラがありますが、これらは私がよく知っているものです。

  • SGEは、複数のマシンでのジョブスケジューリングに関連するすべての問題(リカバリ、監視、優先度、キューイング)を処理します。SGEはバッチジョブを送信する環境を提供するだけなので、ソフトウェアはSGE対応である必要はありません。
  • LSFはより良い代替手段ですが、無料ではありません。

メッセージパッシングをサポートするには、MPI仕様を参照してください。SGEは、MPIベースの配布を完全にサポートします。

于 2009-05-30T14:32:39.163 に答える
1

アプリケーションの要件に応じて、BOINC インフラストラクチャをチェックアウトします。彼らは最新のリリースでクライアント/サーバー通信の形式を実装していますが、どの形式の通信が必要かは明確ではありません。彼らの API は C で書かれており、C++ で非常に簡単にラッパーを作成しました。

BOINC のもう 1 つの利点は、SETI や Rosetta@Home などの大規模な分散コンピューティング プロジェクトに対応できるように設計されているため、検証、ジョブの分散、さまざまなプラットフォームのさまざまなアプリケーション バージョンの管理などをサポートすることです。

リンクは次のとおりです。

BOINCウェブサイト

于 2009-05-30T09:43:53.087 に答える
1

Hadoopがあります。Map Reduce がありますが、他に必要な機能があるかどうかはわかりません。誰か知ってる?

于 2009-05-30T10:15:10.963 に答える
0

あなたは確かに「ジョブスケジューラ」を探しています。ノードは、ジョブ スケジューラに「静的に」登録されます。これにより、ジョブ スケジューラはノードを検査し、コア数、RAM、使用可能なスクラッチ ディスク容量、OS などを判断できます。そのすべての情報を使用して、ジョブに必要なリソースを選択できます。

ジョブ スケジューラは、クラスターの基本的な状態監視も提供します。ダウンしているノードは、使用可能なノードのリストから自動的に削除されます。(スケジューラーを介して) ジョブを実行しているノードも、使用可能なノードのリストから削除されます。

SLURMは、検討するリソース マネージャーおよびジョブ スケジューラです。SLURM には、LSF と PBSPro の統合フックがあります。いくつかの MPI 実装は「SLURM 対応」であり、SLURM によって割り当てられたノードで MPI ジョブを実行できるようにする環境変数を使用または設定できます。

于 2009-06-23T19:36:21.810 に答える