2

Povray を使用して、クラスター上で画像をレンダリングしています。各ワーカー ノードは、部分的なイメージをレンダリングします。この質問の主題は、適切な分割アルゴリズムを見つけることです。

Povray は、ピクセル単位でレンダリングします。ただし、各ピクセルには固有の複雑さがあるため、レンダリングにかかる​​時間は異なります。

画像を多くの領域に分割しました。たとえば、2x2 ピクセルの領域です。そして、これらの領域のいくつかをレンダリングしました。これらの領域の複雑さは、周囲の領域の複雑さに影響を与えるため、領域の配列全体が複雑さの値で満たされます。

画像を領域に分割します。各リージョンは次を定義します。

  • 開始列、終了列。
  • 開始行、終了行。
  • そのゾーンの複雑さ。

目的は、マージされたときにすべての地域をカバーするジョブのリストを作成することです。ジョブは同様の複雑さを持つ必要があります。

各ジョブは次を定義します。

  • 開始列、終了列。
  • 開始行、終了行。

制約:

  • ジョブの有効なマクロ領域は、長方形または正方形です。
  • ジョブの数は N です。
4

2 に答える 2

1

質問を更新していただきありがとうございます。

別の戦略として、ワーカーがボス プロセスにジョブを依頼し、その作業を実行してから、さらに作業を依頼する、マスター スレーブ方式を採用することもできます。上司は、仕事がなくなるまで、小さな仕事の断片を配ります。この戦略の利点は、ジョブが十分に小さく選択されている場合 (例: 2x2 ピクセルの正方形)、すべてのワーカーが終了間際までビジー状態に保たれ、事前に領域の複雑さの明示的な見積もりを計算する必要がなくなることです。

于 2010-12-07T16:00:49.727 に答える
0

私が最終的に使用したアルゴリズムは非常に複雑で非効率的であるため、次の回答を待っています。

https://gist.github.com/gists/729677

于 2010-12-06T01:06:09.990 に答える