2016-05-03 22 views
0

hereからmasterWorkerモデルを複雑にする最も良い方法は何ですか? SimGrid。 masterworkerモデルに追加のパラメータを追加するには?

は、どのように次の機能を追加します。 各ワーカーは、(deployment.xmlファイル内 n processesを展開除いて、どのような方法がある)を同時にタスクの nを実行することができますか?たぶんplatform.xmlに core属性を使用していますか?

CPUGPURAMstorageを各ワーカーに割り当てる方法を教えてください。どのようにタスクの実行時間を上のすべてのパラメータから依存するようにするには?しかし、私は、マルチ実行見ることができない。

は、私はそのようなコードを使用し

を更新しました。

commReceived = Task.irecv("Tier1_" + num); 
commReceived.waitCompletion(); 
task = commReceived.getTask(); 
commReceived = null; 
task.execute 

UPDATED2

私は(comm.testを追加しました)が、私は労働者の第二のコアは、労働者の最初のコアが実行している間に、マスターからタスクを受信する必要があることを期待する場合には、状況に役立ちません。仕事。

答えて

1

引数をプロセスに渡す古典的なソリューションは、argsを文字列にシリアル化し、それらを展開ファイルのパラメータとして渡すことです。プロセスは、それらの主な機能の引数を取得します。

実際には何かを意味するので、core属性など、プラットフォームファイルの既存の構造を混乱させたくありません。コア属性を増やすと、ホストはマルチコアになり、複数のタスクを同時に実行できます。それはもちろん、あなたが望むものかもしれません。そして、あなたが記憶装置をモデル化したいならば、タグを使うべきです。

しかし、任意のプラットフォーム要素(ホスト、リンク、クラスタなど)に任意のデータ(リソースのパフォーマンスに影響を与えない)を添付したい場合は、プロパティを探してください。アーカイブにプロパティを使用する例がいくつかあります。

+0

タスクを実行するためにプロセスの代わりにVMを使用できますか? –

+0

マルチコアを追加しても、一度に複数のタスクを受信して​​実行することはできません。 –

+0

SimGridのVMがコンテナであるため、VMを使用してタスクを実行することはできません。それはアクティブではありません。それはプロセスよりもホストに似ています。 –

関連する問題