CLOUD7

skip ads

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

冗長性とエラー


Last modified 3:57 PM, August 20 2003

BOINCの「リザルト」は、まだ実行されていないものも含めて、 個々の計算を抽象化したものです。 典型的な動きとしては、BOINCのサーバが クライアントに「リザルト」を送り、クライアントが計算を実行して [結果を]サーバに返します。 しかし、リザルトには色々なことが起こりえます:

BOINCは、ある型の冗長計算を提供します。 そのやり方では、 個々の計算は複数のクライアントで実行され、その結果どうしを比較し、 それらが「合意」に達した場合だけ受理します。 ときには、 新しくリザルトを作って送出しなければならないこともあります。 

その[冗長計算の手順について、]詳細な部分のほとんどをBOINCが管理しますが、 アプリケーション開発者が関与しなければならない箇所も、 以下のように2つあります:


次の例では、プロジェクトは下記の条件でワークユニット(WU)を作成しています。 
min_quorum = 2
target_nresults = 3
max_delay = 10

BOINC は自動的に3つのリザルトを作り、ばらばらなタイミングで送出しています。  時刻8のリザルト到着で、計算釈�蓿繙就�粮㏍芍��轣蛹≒鳫�笏蜿遐�竚癈鷭∂焜聨纃瘟赧漓�籬�㏍聽轣蛹就換銀芦姐況訓外⊂桿轣蛹Γ蔚飴頏阡繝�籟鹿畩したリザルトの数が2に達したので、 検証機能が呼びだされます。 合意に達していることを検出し、 ワークユニットは受入れ機能(アシミレータ)で受け入れられています。  時刻10で新たなリザルト(result3)が到着しています。 検証が再び行われ、 この場合は result3 が功績(credit)を得ることができるか検査しています。 

時刻        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14

            生成                            検証と受入れ
WU          x                               x  x
                生成    送出            成功   
result 1        x       x---------------x
                生成    送出                成功   
result 2        x       x-------------------x
                生成        送出                    成功   
result 3        x           x-----------------------x

次の例では、result 2が消えてしまいました。 (つまり、 BOINCスケジューラに答えが届きません)。 result3が到着して、 合意に達したことを確かめると、ワークユニットは受け入れられます。  時刻13で、スケジューラは result2を「断念(give up)」しています。  (断念することで、後で到着するリザルトを検証するために必要な、 正規リザルトの出力ファイルを捨てることができます。 )
時刻        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14

            生成                                    検証と受け入れ       
WU          x                                        x  x
                生成    送出            成功   
result 1        x       x---------------x
                生成    送出    紛失                            断念  
result 2        x       x--------                               x
                生成        送出                    成功   
result 3        x           x-----------------------x

次の例では、result2 が時刻5で失敗で返っています。 すると、 生きているリザルトの数が2個に減ってしまいます。  target_nresultsが3 に設定されているので、 BOINCはもう一つ別のリザルト(result4)を生成します。  result4が返って来るまえに、時刻9で合意に達しています。 
時刻        0   1   2   3   4   5   6   7   8   9   10  11  12  13  14

            生成                                 検証と受け入れ      
WU          x                                    x  x
                生成    送出            成功   
result 1        x       x---------------x
                生成    送出    失敗  
result 2        x       x-------x
                生成        送出                成功   
result 3        x           x-------------------x
                              生成   送出                   成功   
result 4                         x   x----------------------x

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

Copyright © 2003 University of California
Translated by JE2BWM.  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

sqCLOUD5 sqCLOUD2