情報・システムソサイエティ誌 第１０巻 第３号（通巻４０号）【研究最前線】

グリッドコンピューティングの研究最前線
３．P2P とグリッドの関係
首藤 一幸
産業技術総合研究所
１．はじめに

３．組織内と Internet 上

ネットワーク経由で複数の高性能計算機ネットワーク上の PC を束ねるとひと口にを連係させて行う分散計算やその計算機環

言っても，社内や学内，つまり組織内の PC

境は Computational Grid と呼ばれる．PCを集めるのか，それとも Internet 上で PCの性能向上によって，膨大な計算を行う研究提供者を募るのかによって，分散処理ソフト者や技術者にとって魅力的なくらい性能のウェアへの要件は大きく異なる．前者はデス高い PC が，社内・学内・Internet 上に溢れクトップグリッド，cycle scavenging，後者ることとなった．それらを束ねてはメガコンピューティングやボランティア

Computational Grid を構築しようという取

コ ン ピ ュ ー テ ィ ン グ [1]， public-resource

り組み，計算環境が，本稿のテーマである

computing などと呼ばれる．前者の例として

PC グリッド，または P2P グリッドである．

は，古くは Condor [2]，最近の商用ソフトウ

２．PC グリッドのアプリケーション

ェ ア と し て は Entropia 社 の DC Grid ，PC グリッドを構成する PC 群の性能はUnited Devices 社の Grid MP がよく知られ様々，つまり非均質（heterogeneous）であている．後者のプロジェクトとしてはる．また，いつ本来の使用者が電源を落としSETI@home，distributed.net などが有名でてしまうかも知れない不安定（volatile）さある．SETI@home の電波信号処理アプリケを抱えている．そのため PC グリッド上ではーションは，当初，PC 側ソフトウェアに一一 般 に ， こ う い っ た 環 境 に 強 い マ ス タ -ワ体として組み込まれていたが，今では分散処ーカ型の並列処理を行う．これは，大量の計理フレームワーク BOINC 上の一アプリケ

算を細切れにした一部分を，マスタと呼ばれーションとして実装されている．

る計算機から多数のワーカに配布して計算組織内と Internet 上とで状況が決定的にさせるという，並列処理の一類型である．

異なるのは，悪意を持った PC 提供者の有無マスタ-ワーカ型があらゆる応用に適するである．後者の場合，その存在を前提とするわけではないが，合うものは確実にある．そ必要がある．具体的には，ワーカである PCの代表がパラメータスタディという種類のが，受け取った計算依頼を抱え込んで計算結処理である．その中には，商業的に価値の高果を返さなかったり，嘘の結果を返してくるい応用も数多い．例えば，創薬のための薬剤ことを想定せざるを得ない．嘘つき PC が 1候補物質と受容体のマッチングでは，数万か台混じっただけで全計算結果を信用できなら数十万の候補物質を多数の PC で分担してくなってしまったのでは，使い物にならない．

試すことで，人手よりもはるかに速く候補物嘘の結果を検出する手段としては，マスタ側質を絞り込むことが可能となる．他にも，タでたまに抜き打ち検算を行うという方法もンパク質の立体構造解析（折り畳み）や自動あるが，よく用いられるのは投票という方法

車の衝突シミュレーションなどもパラメである．つまり，同一の計算を複数の PC にータスタディの例である．

対して依頼し，返された計算結果を比較する．
8

【研究最前線】

情報・システムソサイエティ誌 第１０巻 第３号（通巻４０号）

一致しない場合には PC どれかが嘘をついた

従来 LDAP サーバや Web Services として構と見なす．この方法の問題は，総計算能力が築されてきたが，P2P システムとしても素直

大 き く 減 っ て し ま う こ と で あ る ． Unitedに構築できる．

Devices 社が運営するある Internet 上分散計算のグリッドに P2P 技術を活かしてい処理では，2002 年秋の時点で，同一の計算る例としては，GPU [4]，JNGI，P3 [5,6] がを 5 台の PC に割り当てていた．すると実際ある．GPU は，ファイル共有ソフト Gnutellaの総計算能力は，実は，参加 PC の合計性能のファイル検索用オーバレイを分散処理にの 1/5 にしかならない．計算能力をあまり減利用する．検索要求の代わりに計算依頼，検らさずに済む方法として，嘘をつく経済的な索結果の代わりに計算結果がオーバレイ上動機を PC 提供者に抱かせないためにはどのを流れる．JNGI と P3 は，P2P ミドルウェくらいしっかりと抜き打ち検算を行えばい

ア JXTA の 上 に 構 築 さ れ た 分 散 処 理 フ レいのか，といった研究 [3] もなされている．

ームワークである．どちらも P2P の強みで４．P2P？

ある台数的なスケーラビリティや耐故障性PC グリッド，P2P グリッドは P2P の一種の高さを狙っている．また，SETI@home なだと見なされている．ここで P2P の定義をど従来の Internet 上分散処理では，一般参振り返ってみると，例えば IRTF(Internet加者は自身が持つ計算能力を一方的に提供ResearchResearchするだけだったのに対し，P3 と GPU では，Group の憲章にはこうある：「各ノードの役誰しもが相互に相手の PC を利用できる．こ割が同じであり，例えば，あるノードはサれらはつまり，全ノードがサービス利用者でーバ/クライアント両方の役割を果たす．」

あると同時に提供者であり，対等であるとい一方，P2P グリッドでは，マスタ-ワーカ型

う P2P のコンセプトを計算のグリッドに適並列処理のマスタを担う計算機は，いわば計用するという試みである．

算配布サーバであり，これが多数の PC に計[1] 首藤一幸．ボランティアコンピューティング,算の一部分を配布する．これはクライアント

Computer Today 2001 年 9 月 号 , pp.65-72,-サーバ型の分散システムそのものである．

<URL:http://www.shudo.net/article/Computer

なぜこれが P2P なのだろうか．

Today-200109-VolunteerComputing/>

TaskForce)

P2P

歴史的には，ウェブでは表示用ダムクライ[2] <URL:http://www.cs.wisc.edu/condor/>

アントでしかなかった PC が，2000 年頃現[3] Philippe Golle, Stuart Stubblebine.

れた P2P ファイル共有（例：Gnutella）でDistributed Computing with Payout: Task

は重要な役割，つまり分散システムのアルゴ

Assignment for Financial- and Strong-

リズムまで担い始めたこと，そのこととの類

Security, Proc. Financial Cryptography

似が理由ではなかろうか．元々厳密な定義が‘01(FC01), Feb 2001.

ある語ではないので，このように，末端の機[4] <URL:http://sf.net/projects/gpu/>器が重要な役割を担うような分散システム[5] <URL:http://p-three.sf.net/>

まで広げて P2P と呼ぶ緩い定義もある．

[6] Kazuyuki Shudo, Yoshio Tanaka，Satoshi

一方で，（狭義の）P2P 技術をグリッドにSekiguchi.

P3:

P2P-based

活かそうという取り組みもある．例えば，PCEnabling

Transferandクラスタなど計算機資源の IP アドレス，規Computational Resources, Proc. CCGrid 2005,

模といった諸元を管理するディレクトリは，May 2005.

9Middleware

Aggregationof