ボランティアコンピューティングにおけるワーカの性能差を 考慮

平成 23 年度
特別研究報告書
題
目
ボランティアコンピューティングにおけるワーカの性能差を
考慮した信頼度計算式の拡張
報
井
告
坂
者
秀
平
学籍番号:09420903
岡山大学工学部通信ネットワーク工学科
平成 24 年 2 月 6 日提出
指導教員
舩曳
信生
教授
ボランティアコンピューティングにおけるワーカの性能差を
考慮した信頼度計算式の拡張
要約
ボランティアコンピューティング (VC) では,インターネットを介して多数のボランティア参加
者を集め,各参加者が所有するパーソナルコンピュータ(PC)等の遊休計算資源を利用して,大
規模な並列計算を行う.VC は,多数のボランティア参加者から無償で提供される計算資源を利用
することで,安価かつ高性能な計算環境を構築できるという特長を持つ.
しかし VC では,ボランティアの参加に制限が設けられていないため,多数の参加者が気軽に
参加できる反面,一部の参加者から誤った計算結果が返される,という問題点が指摘されている.
この原因としては,オーバークロックによる計算間違いやインターネットを経由したデータ送受
信時の誤りなどに加えて,いたずらや妨害を目的として誤った計算結果をわざと返す悪意ある参
加者 (妨害者) の存在が考えられる.このため VC では,計算結果の信頼性向上のため,妨害者対
策を行うことが必要不可欠となっている.
妨害者対策として,現在主に用いられている手法が,m-first 多数決法である.m-first 多数決法
では,1 つの計算問題に対して m 個の同じ結果が得られるまで複数の参加者に計算をさせること
で,計算結果に冗長性を持たせる.本研究グループでは,この m-first 多数決法の改良として,信
頼度に基づく多数決法を提案している.この手法では,各参加者に信頼度というパラメータを与
え,正しい計算結果を返す参加者の信頼度を大きくすることで,m-first 多数決法よりも効率的な
多数決を行うことができる.さらに,この信頼度を条件付確率として厳密に計算することで,計
算結果が誤る割合を任意の値以下にする,すなわち計算結果の信頼性保証を実現できるという特
長がある.
従来の信頼度計算式では,”全参加 PC の性能が一律 ”という前提条件の下で信頼度を計算して
いる.一方,参加者の PC の性能はそれぞれ異なるのが当然であり,従来式では実際の VC に適
用することができない.そこで本研究では,妨害者及び非妨害者の PC がどんな性能の場合でも,
計算結果の信頼性保証を行うことを目的として,新たな信頼度計算式を提案する.
本研究では,まず,全参加 PC の性能に違いがある VC のモデルを提案し,提案モデルにおいて
は従来式は信頼性保証が行えないことを確認し た.次に,提案モデルにおいて信頼性保証を行う
ために,性能差によって発生する各参加者での計算結果の数の違いに着目した新たな指標を定義
し,これに基づく信頼度計算式を提案した.シミュレーションにより,この提案方式が評価を行っ
た範囲で全て信頼性保証ができていることを確認した.
本研究の今後の課題として,妨害者の方が非妨害者よりも性能が高い場合の対策が挙げられる.
この場合,妨害者の生成する計算結果の数が多くなるため,各参加者に与えられる信頼度が低く
なり,低速化する.これに対しては,計算問題の配布順序を決めるジョブスケジューリングの改
良や,各参加者に対する抜取検査の最適化などによる高速化が考えられる.
i
An Extension of Credibility Formula in Volunteer Computing to
Different Workers’ Performance
Abstract
Volunteer Computing (VC) can construct a large-scale parallel calculation system by gathering
a large number of volunteers through the Internet. VC can use idle calculation resources of their
personal computer (PC). VC has the feature which can build low cost and high performance
calculation environment because VC uses as a calculation resource offered for free from many
volunteer participation.
VC has a problem that some participants may return wrong results. It is caused by miscalculation with over-clock or errors during data transmission over the Internet. In addition
to these factors, vicious participants (the sabotage) who deliberately return wrong results for
tampering and interference may exist. VC must be performed against the sabotage to improve
the reliability of calculation results.
A popular method is m-first voting method as that measure. This method can have redundancy by calculations of participants until the same results of each“ m ”to a calculating problem.
This study group has proposed voting method based on credibility as an improvement of m-first
voting method. This method gives each participant the credibility as a weight. This method
can perform a voting more efficient than m-first voting method. The rate of wrong calculations
is less than any value by calculating exactly as conditional probability of the credibility. This
method has a feature that can be implemented to guarantee reliable results.
The conventional credibility formula is calculated under an assumption that“ all participants’
PC performance is uniform ”. The conventional formula can not be applied to real VC because
their performance should be different. This paper proposes a new credibility formula to guarantee
reliable results even when the sabotage and non-sabotage’s PC has a different performance.
This paper proposes a model of VC which there is difference in the performance of all participating PC. We found out that the conventional formula cannot perform the reliability guarantee
in this model. In order to guarantee the reliability in this model, we proposed the credibility
formula based on the difference in the number of each participant’s calculation results generated
by the performance difference. We confirmed that the proposed method can make all guarantee
reliable in the range evaluated by simulations.
Future topics of this study include to measure a case which the sabotage’s performance is better
than non-sabotage’s. In this case, the proposed method is slower than the conventional method
because the proposed method gives participants lower credibility. Our future works include
the improvement of job scheduling which determining the distribution order of computational
problems, improvement of speed by optimization of sampling inspection for each participant.
ii
目次
1
まえがき
1
2
ボランティアコンピューティング (VC)
2.1 VC の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 VC の問題点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 VC の計算モデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2
2
3
3
先行研究
3.1 単純多数決法と spot-checking による高信頼化手法 . . . . . . . . . . . . . . . . . .
3.2 信頼度に基づく信頼性保証手法 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
5
5
4
提案手法
4.1 目的 . . . . . . . . . . . . . . . . . . . . . .
4.2 ワーカの性能差を考慮した拡張モデルの導入
4.3 拡張モデルにおける従来法の問題点 . . . . .
4.4 拡張モデルに対応した信頼度計算式の提案 .
5
6
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
シミュレーションによる評価
5.1 シミュレーション条件 . . . . . . . . . . . . . . . . . . .
5.2 シミュレーション結果 . . . . . . . . . . . . . . . . . . .
5.2.1 性能比 prate に対する実行時間と誤り率の変化 . .
5.2.2 妨害者存在率 f に対する実行時間と誤り率の変化
5.2.3 許容誤り率 ϵacc に対する実行時間と誤り率の変化
5.2.4 妨害率 s に対する実行時間と誤り率の変化 . . . .
5.3 考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
むすび
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
8
8
8
10
.
.
.
.
.
.
.
11
11
11
11
12
13
14
15
16
謝辞
16
参考文献
16
iii
1
まえがき
近年,インターネットの普及により,ネットワークに接続される計算機の台数は年々増加してい
るが、家庭で使用されるパーソナルコンピュータ(PC)は,ウェブページの閲覧やメールの読み
書きなどの日常的な作業が行われることが多い。このような PC の CPU 平均稼働率は約 10% 程
度であると言われている.このように,インターネット上には多数の遊休計算機資源が存在して
いる.以上の背景の下,ボランティアコンピューティング (VC) は,インターネットを介して多数
のボランティア参加者を集め,各参加者が所有する PC 等の遊休計算資源を利用して,大規模な
並列計算を行うシステムである.VC は,多数のボランティア参加者から無償で提供される計算資
源を利用することで,安価かつ高性能な計算環境を構築できるという特長を持つ.
しかし VC では,ボランティアの参加に制限が設けられていないため,多数の参加者が気軽に
参加できる反面,一部の参加者から誤った計算結果が返される,という問題点が指摘されている.
この原因としては,オーバークロックによる計算間違いやインターネットを経由したデータ送受
信時の誤りなどに加えて,いたずらや妨害を目的として誤った計算結果をわざと返す悪意ある参
加者 (妨害者) の存在が考えられる.このため VC では,計算結果の信頼性向上のため,妨害者対
策を行うことが必要不可欠となっている.
妨害者対策として現在主に用いられている手法が,m-first 多数決法である.m-first 多数決法で
は,1 つの計算問題に対して m 個の同じ結果が得られるまで複数の参加者に計算をさせることで,
計算結果に冗長性を持たせる.本研究グループでは,この m-first 多数決法の改良として,信頼度
に基づく多数決法を提案している.この手法では,各参加者に信頼度というパラメータを付与し,
正しい計算結果を返す参加者の信頼度を大きくすることで,m-first 多数決法よりも効率的な多数
決を行うことができる.さらに,この信頼度を条件付確率として厳密に計算することで,計算結
果が誤る割合を任意の値以下にする,すなわち計算結果の信頼性保証を実現できるという特長が
ある.
従来の信頼度計算式では,
“ 全参加 PC の性能が一律 ”という前提条件の下で信頼度を計算して
いる.一方,現実では性能にかかわる CPU,メモリ量等のリソースが全く同じということは考え
にくい.そのため,参加者の PC の性能はそれぞれ異なるのが当然であり,従来式では実際の VC
に適用することが困難となる.そこで本研究では,妨害者及び非妨害者の PC が異なる性能の場
合でも,計算結果の信頼性保証を行うことを目的として,新たな信頼度計算式を提案する.
本研究では,まず、全参加 PC の性能に違いがある新たな VC のモデルを提案する.次に,提案
モデルにおいて,従来式では信頼性保証が行えないことを確認する.さらに,提案モデルにおい
て信頼性保証を行うために,性能差によって発生する各参加者での計算結果の数の違いに着目し
た新たな指標を定義し,これに基づく信頼度計算式を提案する.シミュレーションにより,提案
式を用いた場合に,どのような性能差がある場合でも信頼性保証ができていることを確認する.
本論文の章構成を示す.まず,2 章で VC の特長と問題点を述べる.3 章で先行研究である信頼
度に基づく多数決法について述べる.4 章で提案モデルとそのモデルに対応した信頼度計算式の拡
張について述べる.5 章では先行研究における信頼度計算式と,本論文で提案した信頼度計算式に
対して信頼性保証に関するシミュレーションによる評価とその考察について述べる.最後に 6 章
でむすびを述べる.
1
2
ボランティアコンピューティング (VC)
本章では,本研究の背景としてボランティアコンピューティングの概要と重要性を述べる.次
に,計算結果の信頼性と性能のトレードオフ関係について述べ,最後に VC システムの計算モデ
ルを述べる.
2.1
VC の概要
VC では,計算資源を必要とする運営者が,インターネット上で計算プロジェクトを公開し参加
者を募集する.計算プロジェクトの運営者は,大規模な計算を個人の PC で実行できるほどの小
規模な計算に分割し,それを管理するサーバを運営する.参加者は,運営者より提供されるクラ
イアントソフトウェアをインストールすることで,計算プロジェクトへの参加を表明する.管理
サーバへの接続,計算の受け取り,実行,結果の返却などの一連の処理は,クライアントソフト
ウェアにより,PC がアイドル時や低負荷時に自動的に行われる.VC は PC の余剰計算資源を持
て余している大多数の PC 利用者に対して,CPU の有効利用と,各個人が興味を持つ科学技術計
算への参加を可能にする技術として注目を集めている.
実際に VC が運用された例としては,distributed.net[1],SETI@home[2],Folding@ home[3] な
どが挙げられる.distributed.net は,1999 年に RSA Security 社の主催した 56bitDES 暗号鍵探
索の競争コンテスト“ DES Challenge III ”に 10 万台の PC を集めた VC チームとして参加した.
その結果,スーパーコンピュータを利用した他のチームよりも高速に,わずか 22 時間 15 分で解
読に成功し,VC システムの性能の高さを示した.SETI@home[2] は,地球外知的生命体を探索す
るプロジェクトであり,計算に参加した人を,地球外知的生命体の第一発見者の一人として扱う
と表明することで一般の PC 利用者の知的興味と好奇心を刺激し,100 万人以上の参加者による
大規模で高性能な VC システムの構築に成功している.Foloding@home[3] は高性能な家庭用ゲー
ム機“ Play Station3 ”などによる参加を可能にすることで 1000TFlops の性能を実現し,世界最
高性能の分散コンピューティングプロジェクトとしてギネス認定を受けている [4].
科学技術計算に要求されるコンピュータの性能は年々増加しており,その要求に応えるために世
界中でスーパーコンピュータの設計や開発が活発に行われている [5].しかし,高性能なスーパー
コンピュータは非常に高価になってしまうと言う問題がある.例として 2011 年 11 月 14 日時点で
世界最速記録を持っている日本のスーパーコンピュータ「京」[6] は 1120 億円もの費用がかかって
いる [7].これに対して VC では,distributed.net[1] のように多数のボランティア参加者により無
償で提供される計算資源を利用することで,スーパーコンピュータと同等以上の高い性能を安価
に構築することが出来る.
2.2
VC の問題点
高性能な VC システムを構築するためには多数のボランティアを集めることが重要であり,そ
のためには参加に制限を設けずに,気軽にだれもが参加できる事が望ましい.しかし,一般参加
者の PC は安価なものであり,
,故障やその他の要因により計算信頼性は保証されておらず,誤っ
た計算結果を返す可能性がある.例えば,オーバークロックによる計算間違いやインターネット
を経由したデータ送受信時の誤りなどが原因として考えられる.Kondo ら [8] による VC の実証
実験では,VC システムの稼動期間 3ヶ月以内に,全参加 PC のうち約 35% が少なくとも 1 つの
誤った結果を返したという.これに加えて,いたずらや妨害を目的として誤った計算結果をわざ
と返す悪意のある参加者 (妨害者) が紛れ込む可能性がある.VC では大規模な計算を分割し,そ
れぞれを個別に計算しているため,1 つでも誤った計算結果が返されると,全体の計算信頼性が低
2
下することになる.そのため,わざと誤った結果を返す妨害者に対して効果的な高信頼化手法が
必要とされている.
妨害者に対して有効な高信頼化手法で最も一般的なのが,多数決法である.これは同じ計算問
題を複数の参加者に計算させることによって冗長性を持たせる手法である.妨害者の数が少ない
時,同じ計算結果がある程度集まれば妨害者の誤った計算結果の影響を小さくすることが出来る.
このように冗長計算を行うと妨害者が存在する場合でも計算結果の信頼性を高めることができる.
しかし,冗長計算を行わなかった時には,1 つの問題に対して 1 つの計算結果で終了できていた
が,冗長計算を行うと 1 つの問題に対して複数の計算結果が必要となる.そのため,VC 全体の計
算時間が長くなるという問題がある.つまり,信頼性と性能はトレードオフの関係となっており,
計算結果の信頼性と性能のをバランスよく両立させるための手法が研究されている.
2.3
VC の計算モデル
図 1: VC モデル
VC システムは,VC 運営者により提供される管理用ノードをマスタ,VC の参加者により提供
される PC などの計算資源をワーカとする,図 1 のようなマスタワーカモデル [10] で表現できる.
VC では,悪意ある参加者などによって,誤った計算結果を返すワーカが混じる可能性がある.こ
のようなワーカを妨害者と呼ぶ.妨害者の存在する VC システムは,以下のようにモデル化できる.
• マスタ 1 台とワーカ W 台で,1 つの計算プロジェクトを実行する.
• 1 つの計算プロジェクトは N 個の独立した計算(ジョブ)よりなる.
• 各ワーカはマスタからジョブを 1 つ受け取り,計算終了後,その計算結果(リザルト)をマ
スタに返却する.
• ワーカ W 台に対して,妨害者存在率 f を与え,f × W 台が妨害者となる.f はマスタにとっ
て未知の値であるが,妨害者存在率の上限 fmax (≥ f ) は既知とする.
• 妨害者が誤ったリザルトを返す確率を妨害率 s とする.s はマスタにとって未知の値である.
3
マスタはワーカに対するジョブの配布と実行の管理を行う.ジョブは,ワーカからそのジョブに
対するリザルトが返却され,マスタによって受け入れられた時に終了する.N 個の全てのジョブ
が終了するまでの時間を実行時間 T とする.誤ったリザルトで終了となったジョブはエラージョ
ブと呼ばれ,VC のプロジェクト終了時に全ジョブの内エラージョブの割合を誤り率 ϵ とする.
4
先行研究
3
3.1
単純多数決法と spot-checking による高信頼化手法
VC における単純な高信頼化手法として,多数決法と抜取検査法(spot-checking)がある.多
数決法は 1 つのジョブに対して複数のワーカからリザルトを集めて冗長性を持たせる手法である.
あるジョブに対して集められたリザルトは,各リザルトの値によってリザルトグループと呼ばれ
るグループに分類される.多数決法には,受け入れるリザルトグループの基本的な決定法として
以下の 2 つがある.
• majority 多数決法
最も多くのリザルトを集めたグループを受け入れる.
• m-first 多数決法
最も最初に m 個のリザルトを集めたグループを受け入れる.
spot-checking は,妨害者を検出し排除することで,誤り率を小さくする手法である.あるワー
カが妨害者かどうか判断するために,マスタは既に正解の分かっているチェック用のジョブをワー
カに配布する.このチェック用のジョブに対して誤ったリザルトを返したワーカは妨害者とみなさ
れる.ここで,spot-checking により妨害者とみなされたワーカ対しては,信頼性を上げるために
次の 2 つの手法を適用できる.
• backtracking
妨害者と判断されたワーカがそれまでに生成したリザルトを無効化する.
• blacklisting
妨害者と判断されたワーカを隔離し,それ以降ジョブの配布やリザルトの回収を行わない.
ただし blacklisting は,全ての VC システムで効果的であるとは限らない.blacklisting は一般に,
妨害者を識別するための情報として,IP アドレスやメールアドレスを用いる.しかし妨害者はこ
れらの情報を簡単に変更し,VC システムに対し新しいワーカとして戻ってくることができる.参
加者の識別に用いる情報として自宅の住所などの個人情報を用いることで,blacklisting を効果的
にすることが可能であるが,同時に,これらの情報を各参加者に要求することは,参加者数自体
を減少させることにつながってしまう.
一般化のため VC システムを,blacklisting が有効である環境,
“ with blacklisting ”と,無効で
ある環境“ without blacklisting ”の 2 つに分けて考える.
“ without blacklisting ”では,検出され
た妨害者は検出後すぐに新たなワーカとして VC システムに戻るものと仮定する.
3.2
信頼度に基づく信頼性保証手法
本研究グループでは,多数決法及び spot-checking を組み合わせ,高信頼化の効率改善及び確率
的な信頼性保証を目的とする,信頼度に基づく信頼性保証手法 [11] について研究している.この
手法では,ワーカ,リザルト,リザルトグループ,ジョブといった要素にその信頼性を数値的に表
す信頼度というパラメータを与える.ワーカの信頼度は図 2 のように spot-checking に対してワー
カが正しいリザルトを返した回数に基づき,そのワーカが正しいリザルトを返す条件付確率とし
て与えられる.spot-checking を多く通過すれば,それは信頼できるワーカとして信頼度を高くす
る.妨害者は spot-checking を通過できないことがあるので信頼度が上がりにくい.このようにし
て,ワーカの信頼度から得られるリザルトに重みをつける(図 2 中,1a や 2a などは,そのリザル
トの値を表す.ここで,2b は誤り値である).
5
図 2: spot-checking による信頼度の付与
図 3: リザルトグループ
図 4: 信頼度に基づく多数決
各ジョブには図 3 のように,そのジョブに対する同じリザルト値の集合のリザルトグループが
存在する.信頼度に基づく信頼性保証手法では,図 4 のようにいずれか 1 つのリザルトグループ
信頼度が閾値 θ を超えた際に,そのリザルトグループを受け入れて終了する(この例では,ジョ
ブは 1a で,ジョブは 2a で,ジョブは 3a でそれぞれ終了する).この際,誤った答えを返すよう
な妨害者のリザルトはその信頼度が低いため,最終結果として採用されにくい.また,各リザル
トはそれぞれ信頼度を持ち,各リザルトの信頼度によってリザルトグループの信頼度が決定され
る.よって,単純な多数決法 とは異なり,ジョブの終了に必要なリザルト数は一定でない.この
手法は,閾値 θ を θ= 1 − ϵacc と設定し,ワーカの信頼度を条件付き確率として厳密に与えること
で,任意の許容誤り率 ϵacc に対し,誤り率 ϵ の期待値が ϵ ≤ ϵacc 満たすように,確率的な信頼性
保証を実現することができる.
信頼度評価に基づく信頼性保証手法では,以下のようにして信頼度を計算している.まずこの手
法では,各ワーカに対して,ある確率 q(チェック率) で,各ワーカに対して spot-checking が行われ
る.ワーカ w の信頼度 CW (w) は,spot-checking に通過した回数 k を用いて,式 (1),(2) によっ
て表される [9].ただし e は自然対数の底であり,全ワーカの性能は同じであると仮定している.
“ with blacklisting ”の場合
{
Cw (wk ) =
1−f
f
1
× ke
1 − 1−f
“ without blacklisting ”の場合
Cw (wk ) =
{
1−f
1 − fk
(k = 0)
otherwise
(k = 0)
otherwise
(1)
(2)
リザルト r の信頼度 CR (r) は,そのリザルトを生成したワーカ w の信頼度 CW (w) と等しい.
6
図 5: 各信頼度の関係
CR (r) = CW (w)
(3)
ジョブ j のリザルトが g 個のリザルトグループ G(j,1) ,G(j,2) , . . . ,G(j,a) , . . . ,G(j,g) に分けら
れたとすると,リザルトグループ G(j,a) の信頼度 CG(G(j,a) ) は式 (4)-(6) で計算される.
CG(G(j,a) ) =
PT (G(j,a) )Πi̸=a PF (G(j,a) )
∑
g
Πi=1 PF (G(j,i) ) + gn=1 PT (G(j,n) )Πi̸=n PF (G(j,i) )
(4)
PT (G(j,a) ) = Πr∈G(j,a) CR (r)
(5)
PF (G(j,a) ) = Πr∈G(j,a) (1 − CR (r))
(6)
ジョブ j の信頼度 CJ (j) は,リザルトグループ G(j,1) ,G(j,2) , . . . ,G(j,a) , . . . ,G(j,g) の中で最
大の信頼度を持つグループである G(j,x) の信頼度と定義される.
CJ (j) = CG (G(j,x) ) = max CG (G(j,a) )
1≤a≤g
(7)
ジョブ j の信頼度が閾値 θ = 1 −ϵacc を超えた場合,マスタは G(j,x) のリザルトを受け入れ,
ジョブ j を終了する.
m-first 多数決法では,ジョブの最終決定に常に m 個の同じ計算結果を必要とするが,信頼度に
基づく信頼性保証手法ではワーカの信頼度は動的に変化し,信頼度の高いワーカのリザルトを活
用すると,最小 1 個の計算結果で決定することが可能である.このようにして,高速な信頼性保
証 [9] を行っている.
7
4
4.1
提案手法
目的
3 章では先行研究として信頼度に基づく信頼性保証手法 [9] について述べたが,信頼度計算の前
提条件として各ワーカの PC の性能は一律として計算を行っていた.しかし,現実として参加者
の全ての PC 性能が全く同じということは考えにくい.CPU,メモリ量が違えば当然 PC に性能
差が生まれる.さらに VC ではアイドル状態や低負荷の状態の時に計算を行うため,これらのリ
ソースが全く同じでも PC の利用状況によっても性能差が発生する.そこで,本研究では各ワー
カの性能差を考慮してより現実に近いモデルを提案し,各 PC にどのような性能があっても信頼
性保証を行うことを目的とする.
4.2
ワーカの性能差を考慮した拡張モデルの導入
従来の信頼度に基づく信頼性保証手法では,図 6 のようなワーカの性能を全て一律と想定した
モデルを対象としていた.しかし,実際は 4.1 節で述べたようにリソースや PC の利用状況で PC
の性能が異なり,従来のモデルは現実的ではないと言える.
そこで本節にて,各ワーカで性能が異なるモデルへの拡張を行う.この拡張によって,より現
実的な手法の提案や評価を行うことができるようになる.
モデルの拡張は次のように行う.各ワーカに性能 pi (i = 1, 2, 3...W ) を定義する.ここで pi は,
単位時間で計算できる計算量であり,例えば計算量 10 の問題を pi = 1 のワーカで実行した場合,
10 単位時間がかかる.すると性能モデルは図 7 のようになる.ここで,性能が各ワーカでそれぞ
れ違うことによって,同期間内で生成するリザルトの数がワーカによって異なっている.
図 6: 従来のワーカ性能モデル
図 7: 本研究のワーカ性能モデル
4.3
拡張モデルにおける従来法の問題点
4.2 節のモデル拡張による,従来法への影響を評価するため,シミュレーションによる評価を行っ
た.シミュレーションは,表 1 のような条件で行った.図 8 に横軸を非妨害者の平均性能に対する
8
表 1: シミュレーション条件
ジョブ数 N
ワーカ数 W
チェック率 q
許容誤り率 ϵacc
妨害率 s
妨害者の存在率 f
妨害者存在率の上限 fmax
妨害者が検出された時の処理
非妨害者の平均性能に対する妨害者の平均性能比 x
10000
100
0.1
0.01
0.1
0.1
f
without blacklisting
1 ∼ 10
妨害者の平均性能比とした結果を示す.図 8.(b) において 0.01 に引かれている線は許容誤り率を
示し,その線を越えたグラフは信頼性を保証できていない.つまり,図 8.(b) は従来法では信頼性
保証ができないことを示す.
拡張したモデルにおいて,従来法では信頼性保証ができなくなった原因を述べる.それはワー
カに与える信頼度計算式が図 9 のような各ワーカでリザルト数が異なる状況を想定していないか
らである.そのため,拡張したモデルのような性能が異なる場合に対応できない.よって,各ワー
カでリザルト数が異なる状況を想定した信頼度計算式を考える必要がある.
(a) 実行時間
(b) 誤り率
図 8: 非妨害者の平均性能に対する妨害者の平均性能比のシミュレーション結果
図 9: ワーカのリザルト状況
9
図 10: 図 9 の見方を変えたワーカのリザルト状況
4.4
拡張モデルに対応した信頼度計算式の提案
本節では提案モデルにおいて信頼性保証を行うため,信頼度計算式の拡張を行う.前節で示し
たように,従来の計算式は性能を考慮せずに,妨害者の数で信頼度を与えていたため信頼性保証
をできていなかった.そこで,妨害者の数に加えて,性能によって変化するリザルトの数に着目
し信頼度を与える必要がある.
提案手法における考え方を図 10 に示す.この図は x 台の妨害者が生成した y 個のリザルトを,
その積である x × y 台の妨害者が 1 つずつリザルトを生成したとみなすことを意味している.つ
まり,あるワーカの性能が pi であったら,性能が1のワーカが pi 台あると考える.このように考
えると,従来と同様に「同期間で各ワーカが生成するリザルトは同じ」という状況として見るこ
とができる.
このようにして考えた場合,信頼度式は以下のようにして計算できる.
妨害者のリザルトの割合は,従来は f であったが,妨害者の性能を psk (k = 1, 2, 3...f W ),非妨
害者の性能を pcl (l = 1, 2, 3...(1 − f )W ) とすると,式 (8) のように表すことが可能である.
∑W f
(psk )
全妨害者の性能
妨害者のリザルトの割合 =
= ∑W (1−f ) k=1 ∑W f
全ワーカの性能
(pcl ) +
(psk )
l=1
(8)
k=1
式 (8) の妨害者のリザルトの割合は,マスタにとって未知数な妨害者存在率 f を含み実際には使
用できない.そこで,f ≤ fmax という条件を用いて,マスタに扱える式 (9) を示す.
∑W fmax
(psk )
Resultsabo = ∑W (1−f )k=1
∑ fmax
max
(pcl ) + W
(psk )
l=1
k=1
(9)
ここで,Resultsabo を妨害者リザルト比と呼ぶことにする.妨害者リザルト比を用いてワーカの信
頼度を与えると以下の式となる.提案法では,信頼度の計算式としての式 (10),(11) を用いてワー
カに信頼度を与える.
“ with blacklisting ”の場合
{
Cw (wk ) =
1 − Resultsabo
Resultsabo
1
1 − 1−Result
× ke
sabo
(k = 0)
otherwise
(10)
“ without blacklisting ”の場合
{
Cw (wk ) =
1 − Resultsabo
1 − Resultsabo × k1
10
(k = 0)
otherwise
(11)
シミュレーションによる評価
5
本章では,4 章で拡張した信頼度計算式が信頼性保証をどの程度行えるかをシミュレーションを
用いて評価する.まず,シミュレーションの条件について述べ,次に,実行結果とその考察を行
い,最後に,全体の考察について述べる.
5.1
シミュレーション条件
表 2: シミュレーション条件
ジョブ数 N
ワーカ数 W
チェック率 q
許容誤り率 ϵacc
妨害者の存在率 f
妨害者存在率の上限 fmax
性能比 (妨害者/非妨害者)prate
妨害率 s
10000
100
0.1
0.001 ∼ 0.1
0∼1
f
1 ∼ 50
0∼1
表 2 に評価に用いたパラメータを示す.本評価では特に,信頼性保証に問題が発生することが
予想される,妨害者が非妨害者に比べ性能が良い時の結果を見る.
表 2 中にある性能比 (prate ) は次のように定義している.
∑W f
k=1
prate
(psk )
∑W f
(1 − f ) × k=1 (psk )
妨害者一台当りの平均性能
Wf
= ∑W (1−f )
=
=
∑W (1−f )
非妨害者一台当りの平均性能
(p
)
cl
f × l=1
(pcl )
l=1
(12)
W (1−f )
以下の 2 点を前提条件とする.
• spot-checking で妨害者を検出した際は,backtracking を採用した“ without blacklisting ”の
環境とする.これは,IPアドレスなどを詐称するような悪質な妨害者も想定しているため
である.
• 非妨害者がジョブの実行に単位時間 1 かかるようにしている.性能比 = 10 であれば,非妨害
者がジョブの実行に単位時間 1 かかるのに対して,妨害者は 0.1 の時間がかかることを示す.
評価には次のジョブ選択法を用いる.ジョブ選択法とは配布するジョブを決める方法の事である.
• random 法
終了していないジョブの中から,無作為に選択する.
5.2
5.2.1
シミュレーション結果
性能比 prate に対する実行時間と誤り率の変化
性能比を横軸に取った場合の,実行時間と誤り率を,図 11(従来法)と図 12(提案法)に示す.
図 11.(b), 図 12.(b) より,従来法では,全てのグラフで信頼性保証ができないが,提案法は全ての
11
(a) 実行時間
(b) 誤り率
図 11: 性能比 prate と実行時間,誤り率の関係 (従来法,s = 0.1,ϵacc = 0.01)
(a) 実行時間
(b) 誤り率
図 12: 性能比 prate と実行時間,誤り率の関係 (提案法,s = 0.1,ϵacc = 0.01)
グラフで信頼性保証を行えている事が分かる.つまり,提案法はワーカに性能差があるモデルに
おける,特に妨害者が性能が良い場合でも信頼性保証を行えることが確認できた.
図 11 の従来法は性能を考慮せず,妨害者存在率の最大値 (fmax ) で信頼度を与えるため,妨害
者の性能が変わっても冗長計算回数は変わらない.そのため,性能比が大きくなる,つまり妨害
者の性能が良くなるにつれ,単純に実行時間が小さくなり,誤り率も高くなる.これに対して,
図 12 の提案法は,性能を考慮して信頼度を与えるため,性能比が大きくなると妨害者リザルト比
(Resultsabo ) が大きくなり,ワーカに与える信頼度が小さくなるので冗長計算回数が多くなる.そ
れにより,図 12 中の f = 0.1 のグラフのように性能比が上がっても,冗長計算によって実行時間
が大きくなってしまう場合がある.
5.2.2
妨害者存在率 f に対する実行時間と誤り率の変化
妨害者存在率を横軸に取った場合の,実行時間と誤り率を,図 13(従来法)と図 14(提案法)
に示す.図 13,図 14 より,従来法では全てのグラフで信頼性保証が行えていないが,提案法では
全てのグラフで信頼性行えている.つまり,提案法は性能の良い妨害者がどれだけ存在していて
も信頼性保証を行えることが分かる.
図 13(a),図 14(a) を見ると,従来法は妨害者が多くなるにつれ実行時間が小さくなっている.
これは性能の良い妨害者が増えていくためである.一方,提案法では f = 0.1 で実行時間が大きく
12
(a) 実行時間
(b) 誤り率
図 13: 妨害者存在率 f と実行時間,誤り率の関係 (従来法,s = 0.1,ϵacc = 0.01)
(a) 実行時間
(b) 誤り率
図 14: 妨害者存在率 f と実行時間,誤り率の関係 (提案法,s = 0.1,ϵacc = 0.01)
なってから,実行時間が小さくなっていることが分かる.これは,提案法が性能を考慮した信頼
度式で冗長計算を行うためである.妨害者が増える(f と fmax が大きくなる)と,ワーカに与え
られる信頼度が小さくなるので,f = 0.1 では実行時間が大きくなる.さらに、f が増加するにつ
れて冗長計算が増えるが,性能が良い妨害者が多くなることで実行時間は短くなる.
図 13(b) を見ると,従来法は f が 0.2 程度の小さい時,つまり妨害者が少ない時だけ信頼度保証
を行えていないことが分かる.これは,従来法が妨害者の数で信頼度を与えているためである.妨
害者が少ない場合は高い信頼度を与えるので,冗長度が小さく誤ったリザルトが最終決定として
採用されやすい.そのため,妨害者が少ない時に誤り率が高くなる.
5.2.3
許容誤り率 ϵacc に対する実行時間と誤り率の変化
許容誤り率 eacc を横軸に取った場合の,実行時間と誤り率を,図 15(従来法)と図 16(提案
法)に示す.従来法では全てのグラフで信頼性保証が行えていないが,提案法では全てのグラフ
で信頼性保証を行えている.許容誤り率が高くなると,冗長計算が少なくなるので,実行行間が
短くなり,誤り率が高くなっている.
13
(a) 実行時間
(b) 誤り率
図 15: 許容誤り率 ϵacc と実行時間,誤り率の関係 (従来法,prate = 10,s = 0.1)
(a) 実行時間
(b) 誤り率
図 16: 許容誤り率 ϵacc と実行時間,誤り率の関係 (提案法,prate = 10,s = 0.1)
5.2.4
妨害率 s に対する実行時間と誤り率の変化
妨害率 s を横軸に取った場合の,実行時間と誤り率を,図 17(従来法)と図 18(提案法)に示
す.図 17,図 18 より,従来法では全てのグラフで信頼性保証が行えていないが,提案法では全て
のグラフで信頼性保証が行えている.つまり,提案法は妨害者がどれだけの割合で妨害しても信
頼性保証を行える.
図 17(a), 図 18(a) において,妨害率が高くなるにつれ,実行時間が大きくなると言える事が分
かる.この原因は妨害率が低い時は,妨害者が確率 1-s で生成する正しいリザルトを利用すること
で実行時間を小さくしていたが,妨害率が高い時は spot-checking で検出され,リザルトを無効化
される事が多くなるためである.よって性能の良い妨害者のリザルトを利用できないため,実行
時間が大きくなる.
図 17(b), 図 18(b) より,妨害率が高い時よりも低い時の方が誤り率が高くなることが分かる.こ
れは,前述のように妨害率が高いと spot-checking で検出され,リザルトが無効化されることが原
因である.妨害率が低い場合は,spot-cheking で正しい答えを返す可能性が高くなる.そのため,
妨害者として検出されず信頼度を上げ,誤ったリザルトを生成される事がある.よって,妨害率
が低い時に誤り率が高くなる.
14
(a) 実行時間
(b) 誤り率
図 17: 妨害率 s と実行時間,誤り率の関係 (従来法,prate = 10,ϵacc = 0.01)
(a) 実行時間
(b) 誤り率
図 18: 妨害率 s と実行時間,誤り率の関係 (提案法,prate = 10,ϵacc = 0.01)
5.3
考察
全シミュレーションの結果を通じて,提案法を用いることで,どのような性能差がある場合で
も信頼性保証を実現できることが確認できた.また,この信頼性保証は,妨害者の割合や妨害率
などによらず,常に実現できていた.
一方,シミュレーション結果から,提案法の問題点として,妨害者の性能が良い場合は実行時
間が大きくなってしまうという事が分かった.この原因は,提案法では妨害者リザルト比が大き
くなる事で,ワーカの信頼度が低下するため,冗長計算が増加するためである.今後の課題とし
て、この問題点を解決することが挙げられる。
15
6
むすび
本研究では,妨害者の存在する VC を対象として,ワーカの性能差を考慮した従来計算モデル
の拡張と,信頼度に基づく多数決法の信頼度計算式の拡張を行った.このモデルによって従来よ
りもより現実的な提案や評価を行う事ができるようになった.次に,提案モデルにおいて従来の
信頼度計算式を用いた場合,従来の信頼度式では各ワーカでリザルトの違う状況を想定しておら
ず,信頼性保証ができないことが分かった.そこで,性能の違いによって生成するリザルトの数
の違が違うことに着目した妨害者リザルト比を定義し,妨害者リザルト比に基づいた信頼度式の
拡張を行った.
シミュレーションによる評価では,特に妨害者の性能の方が高い場合を想定し,従来式及び提案
式を用いてそれぞれ信頼性保証が実現できるかどうかを評価した.シミュレーションの結果,従
来式では性能比,妨害者存在率,許容誤り率,妨害率の全ての評価で信頼性保証を行えなかった.
一方,提案法では評価を行った全ての項目で信頼性保証を行える事を確認した.
今後の課題として,妨害者の性能が良い場合において,増加する冗長計算による低速化の改善
のため,計算問題の配布順序を決めるジョブスケジューリングの改良や,各参加者に対する抜取
検査の最適化などによる高速化が挙げられる.
謝辞
本研究の全過程を通じて,御指導を賜りました舩曵信生教授に心より感謝いたします.
本研究を進めるにあたり,問題の仮定から評価に到るまで,多岐にわたる御指導を賜りました
渡邊寛助教に深く感謝致します.
本研究を進めるにあたり,種々御助言頂きました中西透准教授に心からお礼申し上げます.
最後に,種々ご協力と御助言頂いた分散システム構成学研究室の皆様に感謝致します.
参考文献
[1] Distributed.net. http://www.distributed.net (Feb. 2, 2012).
[2] SETI@home. http://setiathome.berkeley.edu/(Feb. 2, 2012).
[3] Folding@home. http://folding.stanford.edu/ (Feb. 2, 2012).
[4] Guinness World Records. http://www.guinnessworldrecords.com/ (Feb. 2, 2012).
[5] TOP500. http://www.top500.org/ (Feb. 2, 2012).
[6] 次世代スーパーコンピュータ http://jp.fujitsu.com/about/tech/k/ (Feb. 2, 2012).
[7] 理化学研究所 次世代スーパーコンピュータ開発実施本部
http://www.nsc.riken.jp/index j.html (Feb. 2, 2012).
[8] D. Kondo, F. Araujo, P. Malecot, P. Domingues, L. Moura Silva, G. Fedak, F. Cappello,
“ Characterizing Error Rates in Internet Desktop Grids ”, European Conference on Parallel
and Distributed Computing (Euro-Par ’07), 2007.
[9] Kan Watanabe, Masaru Fukushi and Susumu Horiguchi, ”Expected-credibility-based Job
Scheduling for Reliable Volunteer Computing”, IEICE Transactions on Information and
Systems, Vol.E93-D, No.2, pp.306 – 314, 2010
16
[10] 菅原雅也, 福士将, 堀口進, “ ボランティアコンピューティング環境における動的クラスタ再
構成法 ”, 情報処理学会研究報告, Vol.2008, No.19, pp.67-72, 2008.
[11] L. F. Sarmenta,“ Sabotage-tolerance mechanisms for volunteer computing systems ”, Future
Generation Computer Systems,vol. 18, No 4, pp. 561 ― 572, 2002.
17