ストレージ(古い文書です。 Wiki に移行済) |
|
BOINCでのストレージの考え方は、ファイルをもとに成り立っています。 ファイルの例は以下の通りです。
BOINC のコア・クライアントは、プロジェクトが運用するデータ・サーバ との間で HTTP を使って、ファイルを送信および受信します。
ファイルが(データサーバ上あるいは、参加者の計算機上で)いったん
作られたら、それらは二度と変更されません。 ということは、
そのファイルのすべての複製が同一内容であると想定する(同一に保たねばならない)
ということです。
ファイルに1バイトでも変更を加えたら、
それは新しいファイルとして元のファイルと異なる名前を与えねばなりません。
BOINC は、特に指定しなければ、ファイルがそれ以降不要となった時点でファイルを消そうとします。 詳しく書くと以下のとおりです。
5.4版から BOINC クライアントは、HTTP Content-Encoding のタイプとして 'deflate' (zlib アルゴリズム) および 'gzip' (gzip アルゴリズム) の 2つを扱えるようになっています。 このクライアントは、これらのタイプのファイルを受けとるのと同時に圧縮を解き、 非圧縮状態にしてディスクに格納します。
この符号化機能には下記の 2とおりがあります。
<file_info> 要素で使うファイル名は、
元のファイル名から「.gz」を取り除いたものです。
httpd.conf ファイルに次の行を含めて下さい。
AddEncoding x-gzip .gz
AddEncoding x-gzip .gzこの設定によって、HTTP サーバが送出するヘッダにあるコンテント符号化の指定が追加され、 この指定は、受信したファイルを BOINC クライアントが自動的に圧縮解除するように指示します。 この手法の優れているところは、サーバ側のディスク占有率が下げられることと、 サーバの CPU 負荷が下げられるところにあります。 しかし、この手法は 5.4+ 版のクライアントとの組合せでしか運用できません。 ですから、app_version テーブルにある 'min_core_version' フィールドの値を 使って、クライアントが 5.4 版以降であることを強制してください。 これら 2つを組合せて使うこともできます。 というのも、上記 mod_deflate モジュール では、特定のファイルタイプについて送信時の圧縮動作を免じることができるからです。
上記の両方は、クライアントの上ではファイルは非圧縮状態で格納されます。 圧縮した状態でクライアント上に格納したいなら、アプリケーションのレベルで 圧縮と解凍を扱わねばなりません。 BOINC のソース配付物の中には、 zip ライブラリのうちの1つの版 (原文)が含まれており、どのプラットフォーム上の BOINC アプリケーションでも使えるように設計してあります。
<gzip_when_done> タグを
output file description に含めれば、
そのファイルが生成された後で、gzip 圧縮がなされます。
最終更新時刻 19:12:05, 2007年05月19日(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.