仕事を処理するデーモン |
|
BOINC のプロジェクトには、仕事を生成し処理するための一群のデーモンが含まれています。 それぞれのプログラムは、 デーモンとして config.xml ファイルに載せておかねばなりません。 これらのデーモンの多くは、下記のコマンドラインオプションをもっています:
| -d N | 出力するメッセージの饒舌さのレベルを N の部分に指定できます。 1 = 危機的なメッセージだけ出力する、 2 = 通常のメッセージ出力、 3 = デバッグ用情報を含む詳細なメッセージ出力 |
| -one_pass | 利用できる全て対象を処理したら、そこで終了します。 |
| -mod n i | ワークユニットのうち、( mod(id, n) = i)を満足する id をもつものだけを扱います。 この指定によって好きなだけ多くのマシンでそのデーモンを走らせることができます。 (このオプションが指定できるのは、仕事の供給機能/Feeder、遷移機能/Transitioner、 検証機能/Validator です)。 |
| -sleep_interval N | やる仕事がないときにどれだけの長さ sleep するかを N で指定します。 |
アプリケーションごとに1つにずつ Work generator があります。 work generatorは、ワークユニットおよび、入力ファイルを生成します。 この機能はアプリケーション固有であり、 生成したワークユニットを[プロジェクトの]データベースに登録する ために、BOINC ライブラリ を使います。
テスト期間中は、 create_work を使って一つひとつワークユニットを作成することができます。 作ったら、今度はデーモンプログラム make_work を使ってこのワークユニットをコピーし、必要な仕事の供給量を満たしてください。
このプログラム(Feeder) は BOINC が提供するもので、アプリケーションには依存しません。 データベースのレコードを CGI スケジューラ・プロセスに渡すために、 共有メモリセグメントを生成します。 このデータにはアプリケーションと、アプリケーションの版、そして 「仕事項目 (work items)」を含みます。 (仕事項目とは未送出のリザルトと対応するワークユニットのことです)。 以下のコマンドライン・オプションを持っています。
| -random_order | 仕事項目を result.random の値の昇順に列挙する。 |
| -priority_order | 仕事項目を result.priority の値の降順に列挙する。 |
| -priority_order_create_time | 仕事項目を result.priority の値の降順に列挙し、次に workunit.create_time の昇順に列挙する。 |
| -sleep_interval N | することがないときは、N 秒間 sleep を呼出して待つ。 |
| -allapps | すべてのアプリケーションから一様に仕事項目を取り混ぜて供給する。 アプリケーションの weight フィールドの値に基づいて重みづけする。 すべての weight フィールドが 0 であれば、一様にリザルトを混合する。 |
| -purge_stale X | X 分を超えて共有メモリに置かれていてもまだ割当てられないワークアイテム*を 共有メモリから取り除く。 |
参加者の プロジェクト・プレファレンスに <app_id>N</app_id> の形の要素があるときは、スケジューラはその参加者に該当のアプリケーション用の仕事だけを送ります。
このプログラム(transitioner)はBOINCが提供するもので、アプリケーションとは独立です。 ワークユニットとリザルトの様々な状態遷移を取り扱います。 ワークユニットからリザルトを最初に[まとめて]作った後、 タイムアウトや異常発生時には、さらにリザルトを追加生成します。
最終更新時刻 00:46:30, 2006年08月12日(JST)
Copyright © 2008 University of California.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software Foundation.
Copyright © 2008 Komori Hitoshi(je2bwm at jarl.com).
Japanese translation from English web pages on BOINC.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software Foundation.