Medical Tribune 2002年2月28日 32ページ ©︎鈴木吉彦 医学博士
グリッド・コンピューティングと公開技術
インターネット利用者がシステム構築に参加
個人所有PCの予備能力を連結
年ごとに高性能化され進化したパソコン(PC)が発売され、安価にもなり、PCは現代人の文房具の1つとなりました。しかし、普通は、PC機能の一部しか利用していません。デジタルカメラの処理に利用したり、インターネットを使ったり、論文を書いたりしますが、そのときに必要なPCの機能は本来の処理能力のほんの一部です。複雑な統計計算をするときには、高速処理を必要とする場合もありますが、それもほんの一時です。つまり、能力的にも時間的にも通常のPCは、それが本来持ちえる性能のごくごく一部しか利用されていないのです。
最近、個人が所有するPCのこうした利用されていない予備軍をインターネットで連結することで掘り起こし、ホスト側で高速度の処理をするという試みが広がっています。これは、ホスト側が各個人に計算用のソフトをネットワークで配布し、それぞれのPCに計算を役割分担してもらう仕組みです(図1)。PC1台1台の性能は高くなくても、おのおのに計算を分散することにより、計算能力がテラ(テラは1兆)フロップス(1秒間の浮動小数点演算の回数)級の、つまりスーパーコンピュータ並みの能力を発揮させることが可能になります。
この仕組みを「グリッド・コンピューティング」と呼びます。最初、この試みは天文学分野でスタートしました。宇宙から地球に降り注ぐ膨大な電波信号を解析し、地球外生命からのメッセージを探す計画「SETI@home」が有名です。
グリッド・コンピューティングの参加者の多くはボランティアです。PCの電源を入れ、ネットワークにつないでいるだけで、ホスト側から配布されたソフトが自動計算処理を行い、その結果をホストに送り、ホスト側ではその結果受けて最終計算をします。その結果、ホスト側では大量の処理データが数千台あるいは数百万台のPCから送られ、超高速の演算処理が可能になります。
このシステムは、高速計算処理を必要とする医療分野に大きな変革をもたらすだろうと考えられています。
第1に、従来は超高速処理計算には、スーパーコンピュータを購入する必要があり莫大な費用がかかりました。しかし、グリッド・コンピューティングでは、PCの機能を提供する多くの人はボランティアですから、PCを駆動させることに対するランニングコストは参加者が負担し、ホスト側の負担はありません。さらに、参加するPC台数が増えれば増えるほど、高速処理が可能になります。ホスト側がどんなに高速処理の計算が必要になっても、そのための追加負担はしなくてもよいのです。
患者参加の新薬開発が可能に
米国の1社などは、白血病に関連する蛋白質と新薬候補物質の作用機序のために、数十万台のPCをグリッド・コンピューティングで駆動させています。白血病に悩む子供を持つ親や白血病の患者本人などが積極的に参加し、新薬開発のために貢献しています。あるいは、米国のエントロピア社が運営するのは、エイズ治療薬の候補物質の探索です。参加するエイズ患者たちは、PCの機能を“貸す”という行為によって少しでも新薬の開発に貢献できれば、自分の予後の改善につながるかもしれません。ですから、患者にとって参加するためのモチベーションがあるわけです。つまり、このグリッド・コンピューティングをを応用すれば、ゲノム解析から新薬候補の追及まで、医師や新薬企業と患者が一体となって新薬開発が可能になります。
しかし、乗り越えなくてはいけない問題もあります。それは、ネットワークにつながっていることでさまざまな人にデータを渡してしまうため、ホスト側の機密が漏れてしまう可能性がある点です。医療の場合、それが患者の個人情報につながるものであれば、大変な事態になります。また、参加者がすべて善意の人とは限りません。新薬開発をねらっている強豪相手の会社員が患者になりすまして参加し、成果を盗むこともありえます配布されたプログラムを分析すれば、競合企業の新薬開発のターゲットがどこにあるかが暴露されてしまう可能性もあります。こうした問題を防御するためには、配布するプログラムソフトのセキュリティを万全の仕組みにしておく必要があります。
ネット上に公開し、プログラム開発
グリッド・コンピューティングに限らず、インターネットを利用すれば、複数の人からプログラムソフトの開発にとって役立つ知恵を借りることが可能になります。LinuxというOS(operating system)は全世界の数万人のプログラマーにプログラム内容をすべて公開し、それによって南満というプログラマーからの知恵を借りながら、共同で開発を行っています。こうした開発の仕組みを「公開技術」と呼ぶこともあります。
また、特定のプログラムがソフトが開発され、その発売前にベータ版と呼ばれるプログラムが配布されることがあります。これは、完全なプログラムではなくて、とりあえずある一定の人たちに利用してもらって、不具合を見つけてもらうことを目的としているプログラムソフトのことです。この不具合のことを「バグ」と呼びます。つまり、バグ・チェックを、インターネット上の利用者に無料で行ってもらうことができるわけです。バグを見つけた人はその開発者に報告をし、開発者はその報告を参考にし、プログラム上の不具合を見つけて修正し、完成度を増していきます。ある程度バグが申請されなくなったところで、プログラムは完成したとみなされ、発売されっるわけです。
私自身も、開発した栄養管理ソフトをホームページ上で公開し、ダウンロードした人たちにバグを探してもらい、機能を更新し完成させたという経験を持っています。公開した当初はかなりのバグがありましたが、利用者からの指摘によって改良が加えられ、ほぼ完成版ができあがり、結局、それによって書籍として出版することができました(図2)。この場合、書籍はプログラムの解説本(マニュアル)で、付属するCDのなかにプログラムを入れ、どのWin-dows系PCにも、いつでもインストールできるようにしてあります。
ネット上の献立で食事療法
実は、このプログラム開発および書籍による販売という一連のシステム構築は、それをすることで多くの人たちが栄養管理ソフトを使い、かつ、それでつくった献立をホームページ上にアップロードしてくれるところまでにする必要があります。もしそれができれば、インターネット上に互換性のある献立集が何十万個と掲載されることになるでしょう。そうなれば、例えば糖尿病の食事療法は「患者はインターネット上にある献立から検索し、自分にあった食事を採用すればよい」という時代になるでしょう。糖尿病の食事療法における栄養指導の在り方も大きく変化するに違いないと思い、この実験を行ったのです。
このように、これからの社会ではネットワークを利用して多くの人たちと共同で開発し、システムを構築していくことが簡単にできるようになりました。特に、グリッド・コンピューティングは、数個の成功事例が生まれてくれば、それを参考にして多くの大学や研究室などで現実化され応用が進むことでしょう。ですから、日本の製薬企業や多くの医療研究者にも、このグリッド・コンピューティングや公開技術システムなどを利用し、ゲノム解析や新薬開発などにチャレンジしてみて欲しいと思います。それによって、遅れている新薬開発の現状に新しい打開策を見出すことが期待されています。