skip ads

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

以下は下記原文 2003/12/22(JST)時点 の非公式翻訳です。 転記などはご遠慮ください。 
オリジナルの知的財産権は University of California に属します。 
原文: Workunits
 
 
最終更新時刻 10:25 PM, Dec. 22 2003 JST

ワークユニット


Last modified 9:41 AM, December 21 2003

ワークユニットは、実行するべき計算を記述したものです。  ワークユニットが基本として持つ属性には以下のものがあります:

name 文字列で、ワークユニットの名前を表します。  当該プロジェクトのすべてのワークユニットに渡って一意 [、つまり重複がないもの] とします。 
application 意図する計算をどのアプリケーションが実行するかを表します。  ワークユニットは、1つのアプリケーション[という、版より広い概念] に結びついています。 特定のアプリケーションの版や、[どれ以上どれ以下といった] 版の範囲に対応づけられているのではありません。  もし、入力データ形式を変更してしまって、古い版と非互換が生じたら、 [新しい版をつくるのでは済まなくて]、 新しいアプリケーションをもう一つ作らなければなりません。  このような事態は、XMLデータ形式を採用して いれば、かなりの場合避けることができます。 
input files 入力ファイルの一覧です。 [ファイルごとに、] その名前と、アプリケーションが 各ファイルを参照するときの呼び名を記述します。 
error mask 種々のエラー状況についてのビットマスクです:
  • WU_ERROR_COULDNT_SEND_RESULT:
    BOINCのスケジューラはこのワークユニットを多数のホスト(100くらい) について、送出できませんでした。それは、おそらくは資源(ディスク、 メモリ、CPU)の要求が、それらのホストに対しては過大だったため、 あるいは、それらのホストのプラットフォームに対しては、 アプリケーションの版に1つも使えるものが無かったためです。
  • WU_ERROR_TOO_MANY_ERROR_RESULTS:
    このワークユニットについて、失敗で返ってきたリザルトが多すぎます。 (失敗の状況は、アップロードまたはダウンロードに問題があったか、 クライアントがクラッシュしたかです)
  • WU_ERROR_TOO_MANY_SUCCESS_RESULTS:
    計算成功で戻ってきたリザルトがとても多く得られたにもかかわらず、 合意が得られませんでした(訳注1) こうなるのは、アプリケーションが非決定的(訳注2) なためかもしれません。
  • WU_ERROR_TOO_MANY_TOTAL_RESULTS:
    合計すると、このワークユニットに過大な数のリザルトが送られました。

ワークユニットがどのくらい資源を使うかについての予測値や制限値が、 ワークユニットの中に含まれています。 

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 このワークユニットについて mail protected]"$K7W;;40N;$7$?%j%6%k%H$N?t$,$3$NCM$rD6$($F$b!" まだ合意がとれない場合、 そのワークユニットには異常があると宣言されます。 

BOINCは、ワークユニットを生成するための ユーティリティプログラムとC言語の関数を提供します。 



BOINCの訳のメインページに戻る | (原文のメインページに戻る)

Copyright © 2003 University of California
Translated by JE2BWM.