ワークユニット |
|
ワークユニットは、実行するべき計算を記述したものです。 ワークユニットが基本として持つ属性には以下のものがあります:
name | 文字列で、ワークユニットの名前を表します。 当該プロジェクトのすべてのワークユニットに渡って一意 [、つまり重複がないもの] とします。 |
application | 意図する計算をどのアプリケーションが実行するかを表します。 ワークユニットは、1つのアプリケーション[という、版より広い概念] に結びついています。 特定のアプリケーションの版や、[どれ以上どれ以下といった] 版の範囲に対応づけられているのではありません。 もし、入力データ形式を変更してしまって、古い版と非互換が生じたら、 [新しい版をつくるのでは済まなくて]、 新しいアプリケーションをもう一つ作らなければなりません。 このような事態は、XMLデータ形式を採用して いれば、かなりの場合避けることができます。 |
input files | 入力ファイルの一覧です。 [ファイルごとに、] その名前と、アプリケーションが 各ファイルを参照するときの呼び名を記述します。 |
error mask | 種々のエラー状況についてのビットマスクです:
|
ワークユニットがどのくらい資源を使うかについての予測値や制限値が、 ワークユニットの中に含まれています。
rsc_fpops_est | [このワークユニットの]計算をやり遂げるのに必要な 浮動小数点演算の平均回数予測値です。 ホストが与えられたときに、 そのホストではどのくらいの時間で計算が終わるか、 を評価するために使います。 |
rsc_fpops_bound | [このワークユニットの]計算をやり遂げるのに必要な 浮動小数点演算の平均回数の上限値です。 この上限値をこえたら、[コア・クライアントによって]、 アプリケーションは中断させられます。 |
rsc_mem_bound | [このワークユニットの計算をするときの、] 仮想記憶のワーキングセットサイズ(訳注3)の上限値です。 この値よりも多くのメモリ(訳注4) が使用できるホストに対してだけ、このワークユニット[の仕事] が送られます。 この上限値をこえたら、[コア・クライアントによって]、 アプリケーションは中断させられます。 |
rsc_disk_bound | このアプリケーションで使われる最大ディスク使用量の上限値です。 使用量には、入力ファイル、出力ファイル、一時ファイルのすべてが含まれます。 この値よりも多くのディスク領域が使用できるホストに対してだけ、 このワークユニット[の仕事]が送られます。 この上限値をこえたら,[コア・クライアントによって]、 アプリケーションは中断させられます。 |
ワークユニットには、冗長性とスケジューリングに関連したパラメタが いくつかあります。 ワークユニットを生成するときに プロジェクトが、これらのパラメタの値を決めます。
delay_bound |
リザルト(訳注5)をクライアントに送出してから
答えを受け取るまでの時間の上限値(単位は秒)。
スケジューラは、
予測した計算完了までの時間がこの値をこえるようなホストには、
リザルトを送ることはありません。
クライアントがこの時間内に結果を返さないと、
サーバは送ったリザルトを「断念」して、他のクライアントに
任せるべく、別のリザルトを生成します。
典型的なPCでのワークユニット平均処理時間の数倍の値を、 ここに設定してください。 設定値が小さすぎると、 送り出せないリザルトが出てきてしまい、 そのワークユニットには異常のフラグが立つでしょう。 設定値が大きすぎると、リザルトが返ってくるまでの時間に その分遅れが出るかもしれません。 |
min_quorum | 定足数(訳注6)です。 冗長性のある計算をしたいときは、 この値を2よりも大きく設定してください。 |
target_nresults | 計算が成功したリザルトをいくつ集めようとするかを指定します。 この値は、少なくともmin_quorum(定足数)以上の値でなければなりません。 それより大きい値を設定する意味は、リザルトがどこかで失われる率を 考えに入れるということと、定足数に達する時間を早める という意味があり得ます。 |
max_error_results | この値より多くのクライアントが、異常なリザルトを返してきたら、 対応するワークユニットには異常があると宣言されます。 つまり、それ以降、 [サーバはそのワークユニットの]リザルトを送出するのを止めて、 アシミレイター(訳注7)を起動します。 この防御機構は、 アプリケーションのバグを引き起こすようなワークユニットに 対抗するためのものです。 |
max_total_results | このワークユニットについて、リザルトの数がこの値を超えると、 ワークユニットには異常があると宣言されます |
max_success_results | このワークユニットについて [email protected]"$K7W;;40N;$7$?%j%6%k%H$N?t$,$3$NCM$rD6$($F$b!" まだ合意がとれない場合、 そのワークユニットには異常があると宣言されます。 |
BOINCは、ワークユニットを生成するための ユーティリティプログラムとC言語の関数を提供します。