2011-07-07 10 views
0

プロセッサコアでタスクを完了する時間は、平均値がm、標準偏差がsの分布であると考えてください。同じタスクがnコアで実行されている場合、タスクの完了に要する時間の平均と標準偏差はどのくらいですか? (いずれかのコアがタスクを完了するとタスクは終了します)複数コアのランダムタスクの統計

答えて

1

これは何よりも統計上の疑問です。 tの配信関数についての情報がなければ、1つのタスクを完了する必要があります。と表示されているように、の最小値tの分布関数を計算する必要があります。これを使用して平均と標準偏差を計算することができます。

PS:この宿題はありますか?

EDIT:

かどうか - とどのくらい - それは複数のコアを使用する価値があるが、いくつかの事柄に依存します。

  • あなたがする必要がどのような。 があり、同じプログラムを異なる入力で実行する場合は、複数のインスタンスを起動するとlotとなります。全体の時間を1/nに減らすことはできないかもしれませんし、それぞれの実験は少なくとも前回と同じくらい多くの時間を必要としますが、シリーズ全体に必要な時間は大幅に少なくなります。

    一方、同じタスクを、たとえば次のように実行したいと考えている場合は、別の種子と収束するものを最速に保つと、私の答えの最初の部分によって推定されるように、あなたはおそらくはるかに少なくなります。

  • どのようにタスクを並列化しましたか。 n完全に独立したタスクは理想的なシナリオです。 n複数の同期点を持つスレッドなどはではなく、が効率的になるでしょう。

  • ハードウェアが複数のタスクをどれくらいうまく処理できるか。たとえば、これらの各タスクに大量のメモリが必要な場合は、複数のインスタンスを一度に実行することによってOSが呼び出すスワップスペース/ページファイル/を使用するように強制するよりも、単一のコアのみを使用するほうが速いでしょう。

+0

私はこの種の仕事を並行して実行することによってどのくらいの改善が得られるかを知りたいです。 – titus

+0

1秒。同じ*ランダムなタスクを並行して実行しようとしていますか?例えば、同じ遺伝子アルゴリズムをすべてのコアで同じ入力で実行し、最も収束するアルゴリズムを最速に保ちますか?または、タスクを並列化するために、各コアで異なる入力を持つ別々のプロセスを実行しますか? – thkala

+0

コアごとに異なるシードを持つ数値関数の最小化 – titus