#モリトーク

第45話

史上最大素数とクラウド

GIMPSプロジェクト用クライアント「Prime95」

 Windows 8にはクラウドサービスと連携する機能が標準で搭載され、先週発売された「Microsoft Office」の最新版でもクラウドサービスとの連携が強化されるなど、ここ数年で急速に普及し、もはや欠かせない存在となったクラウドだが、その歴史は意外に古い。クラウドの走り、原型とも言える技術のひとつが分散コンピューティングであり、先日広く報道された史上最大素数の発見は、分散コンピューティングを活用した、GIMPS(Great Internet Mersenne Prime Search)と呼ばれるプロジェクトの成果だ。

 1990年代から継続されているGIMPSプロジェクトは、2の累乗から1を引いた、メルセンヌ素数という種類の素数を探しており、その素数判定の演算処理に分散コンピューティングを活用している。同プロジェクトには世界中の誰もが参加でき、その方法は、オープンソースで開発されている無料のクライアントソフトを自分のパソコンにインストールするだけだ。通常では膨大な時間を要する演算処理がインターネットを介して各パソコンに振り分けられ、そのネットワーク全体を1台のスーパーコンピューターに見立てる仕組みになっている。

 現在クラウドと呼ばれているWebサービスが、サーバーで処理したデータを各ユーザーのパソコンやスマートフォンに反映させるものだとしたら、分散コンピューティングはその逆で、各ユーザーのパソコンが処理したデータをサーバーに集めるものであり、呼び名が異なるだけで、本質的には同じ技術だと言える。その分散コンピューティングの世界でもっとも有名なプロジェクトといえば、窓の杜ライブラリにもそのクライアントソフトが収録されている、BOINC(Berkeley Open Infrastructure for Network Computing)だ。

BOINC用クライアント

 BOINCはカリフォルニア大学バークレー校が2004年に一般公開したプロジェクトだが、その前身の分散コンピューティングプロジェクトである“SETI@home”の開始は1999年と、GIMPSと同様に歴史が古い。SETI@homeは、電波望遠鏡が観測したデータを分散コンピューティングで解析し、地球外知的生命体を発見しようという壮大な計画であり、今もBOINCの一部として存続している。

 BOINCの特長は、それ自身が分散コンピューティングプロジェクトなのではなく、あくまで分散コンピューティングに必要なインフラを提供する存在であるということだ。そのため、地球外知的生命体を発見するSETI@homeだけでなく、数学や科学を中心に、さまざまな種類のプロジェクトが進行しており、参加者はBOINCのクライアントをインストールするだけで任意のプロジェクトに参加できる。

 分散コンピューティングのコンセプトはもともと、パソコンの余剰パワーを活用しようというものだが、その貢献度を個人やチームでランキングするようなエンターテイメント性も併せもっている。そして、前述した最大素数発見のように、それぞれのプロジェクトが着実に成果を残しているので、参加のしがいもあるだろう。電力供給に不安を抱える現在の日本では、BOINCなどで自由に遊ぶわけにもいかないかもしれないが、クラウドが注目される今だからこそ、こういった存在・技術も覚えておきたいところだ。

(中井 浩晶)