| Entrance | Stargazer Index |
written in 24 Nov.2000
SETI@Homeをご存知でしょうか。ここ数ヶ月、私が―正確にはうちのパソコンが―やっている事で、平たく言えば「おうちのパソコンで異星人探し」です。
そもそもSETIとは、Search for Extra-Terresterial Intelligence、「地球外知的生命体探索」の事です―当初はSearchではなくContactだったそうだが、技術水準を考えてこうしたそうである―。これに@Homeが付く訳ですから、ご家庭で、ということになる訳です。具体的には、異星人も知性があるなら電波を使っているだろう、その中にはこっちに信号を送っているのもいるだろう、だったらその電波を探せば異星人がいることを証明できるのではないか…という事で、自然発生ではありえない電波信号を探すのが現在行われている方法です。いずれにしても極めて遠くからやってくるであろう信号を捉えようというのですから、そこらのラジオなどでは感度がお話にならないのは容易に想像がつくと思います。そこで、プロ用の電波望遠鏡を使える時間に使ってデータを集め、集めたデータをコンピュータで処理して人工的な信号を検出するのですが、このコンピュータ処理をインターネットにつながっているパソコンの空き時間を使って分散処理しようというのがSETI@Homeにおいて「おうちで」やる事なのです。そもそも異星人が一体どんな信号を送ってくるのか分からないのですからデータをいろいろな面から解析しなければならないのですが、これがとてつもなく大変な処理である事はお分かりになると思います。スーパーコンピュータをガンガン使っても一体どれだけ処理すればいいのか見当もつきませんし、スーパーコンピュータともなれば使うための費用も莫大になります。そして、その費用は役に立つかどうかも分からないという理由でそうそう国家予算がついたりはしません。言ってみれば、SETI@Homeはパソコンの処理能力を提供するボランティアみたいなものです。
SETI@Homeを実行するのはそんなに難しい事はありません。別に天文学の知識が必要なんて事はなく、そこら辺のオンラインソフトを自力でインストールして使える程度のパソコン利用知識とインターネット接続環境のあるパソコンが必要です。だいたい、私たちがすることと言ったらクライアント(パソコンにインストールする処理ソフト)を実行させる事、これだけですから。Windowsの場合はスクリーンセーバーとして動作するタイプのクライアントと、主にWindowsNT用に作られたコマンドライン版クライアントがあります。スクリーンセーバー版クライアントであればスクリーンセーバーが起動する条件になったら処理が始まって、ユーザーが別の処理を始めた時点でSETI@Homeの処理は中断するようになっていますから、他への影響はほとんどありません。コマンドライン版は一定の処理能力を確保するようになっているとの事ですが、うちのマシンで使っている限り他の処理が遅くて使えなくなるということはありません。クライアントはMac版もありますし、LinuxやFreeBSDなどPC UNIX用のクライアントもいろいろ―CPUがIntel互換のものはもちろんalphaだの何だの用まで本当にいろいろ―用意されています。まあ、大抵のパソコンならばクライアントがあるという感じです。処理するデータは常時接続環境であれば自動的にサーバーに接続して通信ということになりますが、ダイヤルアップ環境であればユーザーが手動で接続させる事も出来るようになっています。
で、うちの場合です。実のところ先日作ったマシンはこの為に作ったようなものです。作る決心をしたのはパーツ、特にCPUが安くなってきたからというのもあるのですが、NTTのIP接続サービス―愛称がフレッツ・アイからフレッツ・ISDNにごく短期間で変わったあれ―が月4500円になり、このページを置いている@niftyが対応サービスを開始したからというのが本当の理由です。どうせやるなら24時間連続稼動でやりたかったのですが、従量制料金で自動ダイヤルアップ通信をやるのはトラブルが起きたときに怖かったので手を出せないでいたのです。そんな訳でHolstことメインマシンとGiottoこと画像処理用マシンにクライアントをインストールして、Holstは24時間連続で、Giottoは気が向いたときに稼動させています。気が向いたときと言っても、現状では休日のみ連続稼動とかHolstの処理が止まっていた時間をカバーするといった状態ですが…。
クライアントは最初スクリーンセーバー版Ver.2を使っていたのですが―私が始めた2000年8月の時点では既にVer.2.4になっていた―、Holstだと似たようなCPUスペックのマシンと比較してやたら遅い事が分かったので、NT用ということもあってコマンドライン版に切り替えました。スクリーンセーバー版だと1回分―以下、1WU(Work Unit)―のデータ処理に16時間以上かかっていたのが9時間前後にまで速くなりました。Giottoだと1WUあたり14時間くらいでした。どうもVer.2と一口に言ってもVer.2.3までとVer.2.4では別物らしく、Ver.2.4はVer.2.3までの倍くらい処理時間がかかる仕様になっていたようです―解析をより精密にした為とか―。10月にVer.3.0が出たので入れ替えてみましたが、スクリーンセーバー版は速いときにはやたら速いが時間がかかるようでした。1WUが4時間くらいで終わるかと思うと1日以上かかる事もあったりして…。しかも相変わらずHolstはGiottoに比べてかなり遅いのです。CPUは種類こそ違えコアクロックは同じ、周辺に至ってはHolstの方が速いのに…です。そこでやや遅れて出てきたコマンドライン版のVer.3.0にHolst、Giottoとも入れ替えたところ…1WUあたりの平均がHolstで6時間弱、Giottoで6時間強といった感じになりました。どうも、私の想像以上にスクリーンセーバー版ではビデオカードの性能差が効くようでした。ここがあまり関係なくなるコマンドライン版だと、CPUの性能差を始めとして周辺の速度差、OSのタスク管理能力の差がいろいろ入り乱れてこのような感じになったようです。浮動小数点演算能力はAthlonの方が有利なはずですし、メモリ周りもPC133仕様のHolstとPC100仕様のGiottoとではHolstの方が有利なはずですが―HolstのメモリはPC133 CL=3のDIMMをCL=2で使っている―、チップセットはIntelの方が性能がいいというのはどうやら本当らしく、CPU能力の差ほどの処理能力差は出ないようです。何分OSが違うのでデータが当てになるかという問題はありますが…。
今は亡きスカイウオッチャー誌―実質リニューアルという感じで「星ナビ」誌が出てますが―にちょっと載っていた記事に、「コマンドライン版の味気ない画面よりいかにも解析しているという心の持てるスクリーンセーバー版のほうがいいのではないか」といった主旨の文があったのですが、私は必ずしも当たっていないと思います。私は、もしそこに異星人からの信号が埋もれているのなら見つけ出したい、その為に出来る範囲の努力はしたいからコマンドライン版を選んだのです。世間ではSETI@Homeクライアントをベンチマークテストのように実行させている人やひたすら処理WU数を競うために実行させている人もいますが、私はあくまでも「そこに埋もれているなら見つけたい」からやっているに過ぎません。処理能力で言えばWindowsコマンドライン版クライアントよりLinux版(コマンドライン版しかない)クライアントを実行させる方が3〜5割速いのですから、何が何でも数を競うならさっさと乗り換える事でしょう。しかし私は24時間連続稼動というだけでも世間から常軌を逸していると見られる事は承知しているつもりなので、OSを切り替えてまでやろうとは思いません―現状ではメインマシンをWindows以外にできる条件がないので…―。何せCPU使用率がほぼ常時100%に張り付いたままで動いているものだから、ただ単に24時間連続稼動している場合に比べても電気の食い方は大きい筈なんです。うちの電力消費量、これを始める前と後で5割増になりましたから…エアコンを1日3時間程度使っている真夏で。エアコン無しの今ごろの季節なら、昨年同月の倍くらいになっているのではないかと思います。電気代が倍とまでは行かないようですが…そういう意味で連続稼動が常軌を逸しているという表現はあながち大げさではないと思います。まあ、世の中には数台がかりで連続稼動を図るという逝ってしまった人達もいるようですが。
まあ、一般的にはスクリーンセーバー版クライアントでゆるゆると楽しむのが良いのではないかと思います。スクリーンセーバー起動をごく早く設定しておけばそこそこ処理もしますし。何と言っても、何となくでも科学の発展に貢献しているとかそんな気分に浸れるというだけでも面白いと思います。