以下は下記原文 2004/09/17(JST)時点 の検証無し翻訳です。 原文は University of California より GFDL で配付されており、
この翻訳も GFDL に従います。
原文: Proxy servers
 
 
最終更新時刻 2006/03/01 01時11分 JST

代理サーバ

boinc.gif
Last modified 12:17 AM UTC, September 14 2004

SETI@home Classic[初代のSETI@home]は、SETIQueueのような 「代理サーバ」の恩恵をうけていました訳注1。 これらの代理サーバは、ワークユニットと計算結果とを溜め、それらを 参加者の計算機とSETI@homeの主サーバとの間で転送することができます。 代理サーバは、たとえ主サーバがダウンしていても、とどこおることなく [クライアントへ] 仕事を供給しますし、インターネットに直接接続していない計算機でも SETI@home Classic を実行できるようにしてくれます。

これらの[代理サーバ]プログラムは、BOINCでは動作しません(下記をご覧ください)。 しかし、便利だった機能のいくつかには別のやり方があります。

なぜ SETIQueue は BOINCでは動作しないのか?

SETI@home Classic では、 「ワークユニットの大きさはどんなマシンについても一種類のみ」でしたが、 BOINCでは、極端な条件(メモリ、ディスク、CPUに関して) を要求するワークユニットでも扱えるようになっており、 [それぞれのワークユニットは]、 それを計算できる能力のあるところだけに送られるように確実に制御されます。 BOINCでは、クライアントはサーバと直接通信します。 クライアントは、サーバにそのハードウェア(メモリ搭載量、 CPU速度など)について教え、サーバはその情報にしたがって [渡すべき] 仕事を選ぶのです。 さらに、BOINCはスケジューリング・サーバとデータ・サーバ群を 別だてで持ちます。 (SETI@home Classic では一台のサーバが 両方の役をしています。 )

BOINC 代理システムの可能性

コア・クライアントを修正するという仮定のもとで、 代理システムをどう作れるか、素描してみます。 通信と記憶だけをする「代理計算機」1台と、計算役のたくさんの「ワーカー計算機」 があると想像します。 このときコア・クライアントには、 下記の -proxy および -worker オプションを受けとれるように変更しなければなりません。

代理計算機は、ワーカー計算機ごとに別々の BOINC ディレクトリの面倒を見ることになるのでしょう。 代理計算機の動作概要は、ワーカー計算機ごとに以下の論理になります。 ご注意: 上記の素描に書いた内容はまったく実装されていません。 プログラマーとして実装を援助したいと思う方がいらっしゃれば、 ご連絡ください。
さらにご注意: 上記を読んでいただくとわかるように、 この例のシステムは非同期のタイミングでは動作しません。 (計算と通信はオーバラップしません。 ) ですから、この代理システムはバッファリング機能はもっていません。 これらの特徴は上記の素描に付加することができるかもしれません。
(訳注1): 恩恵をうけていました:
翻訳時点2004年9月時点では、初代SETI@homeはまだ稼働中で、代理サーバも稼働中です。 したがって、執筆時点でここは過去形ではなく、代理サーバの恩恵をうけつづけている状態です。

BOINCの訳のメインページに戻る | (原文のメインページに戻る)
 
Copyright © 2005 University of California
Translated by JE2BWM.