以下は JE2BWM ほかが作成した翻訳 です。 原文は University of California より GFDL で配付されており、 この翻訳も GFDL に従います。
原文: Work-handling daemons   (翻訳対象の更新日付は 9:56 PM UTC, July 11 2006 です)。

仕事を処理するデーモン

boinc.gif
(英語のみ)

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 で指定します。

仕事の生成機能(work generator)

アプリケーションごとに1つにずつ Work generator があります。 work generatorは、ワークユニットおよび、入力ファイルを生成します。 この機能はアプリケーション固有であり、 生成したワークユニットを[プロジェクトの]データベースに登録する ために、BOINC ライブラリ を使います。

テスト期間中は、 create_work を使って一つひとつワークユニットを作成することができます。 作ったら、今度はデーモンプログラム make_work を使ってこのワークユニットをコピーし、必要な仕事の供給量を満たしてください。

仕事の供給機能(Feeder)

このプログラム(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)

このプログラム(transitioner)はBOINCが提供するもので、アプリケーションとは独立です。 ワークユニットとリザルトの様々な状態遷移を取り扱います。 ワークユニットからリザルトを最初に[まとめて]作った後、 タイムアウトや異常発生時には、さらにリザルトを追加生成します。

検証機能(Validator)

アプリケーションごとに1つにずつ 検証機能(Validator) があります。 冗長に計算した結果を比較して、 正しい出力の代表である標準的リザルトを選択します。 同時に、正しい出力を返した参加者とホストに対して認める 標準的功績も決定します。 アプリケーションに依って、 BOINC が提供する検証機能を使えることもありますし、 独自の機能をもった検証機能を開発しなければならないこともあります。 詳しくは、検証機能の詳細 をご覧ください。

取込み機能(Assimilator)

アプリケーションごとに1つにずつ 取込み機能(Assimilator) があります。 これが処理するのは「完了した」ワークユニットです。 それは、標準的リザルトを見つけ得たワークユニット、または、 異常が発生したワークユニットのことです。 成功裏に完了したワークユニットの処理では、 データベースに結果を記録することを含むでしょうし、 おそらく、さらなる仕事を作り出します。

ファイル削除機能(File deletion)

アプリケーションに独立なこのプログラム file_deleterは、 入力および出力ファイルを、不必要になったときに削除します。

データベース 削除(Database purging)

アプリケーションに独立なこのプログラム db_purge は、仕事に関連づいているデータベース・エントリ群を、 不要になったときに削除します。 これによって、 プロジェクトが長い間続いても、データベースの大きさを一定に保ちます。
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.