第1章 国が支援する情報技術研究開発のあり方
先端情報技術の研究開発動向については、例年通り、次の2つのWGにより調査を行った。
a)高速コンピュータと通信(High-End Computing and Communication)WG (HECC-WG)
b)人間中心の知的システム(Human Centered Intelligent Systems) WG (HCIS-WG)
これらWGでは、各委員の専門分野を中心として、新しい動きを追っているが、本年度は、中心的話題として、HECC-WGでは、グリッド・コンピューティング、HCIS-WGでは、Software Design and Productivity(SDP)を取り上げている。
1)グリッド・コンピューティング
グリッド・コンピューティングは、高速ネットワークに接続された、スーパーコンピュータのような強力な計算パワーをもつコンピュータ群を一まとめにして、さらに強力な仮想的コンピュータを実現しようというアイデアに端を発している。
これは、電力網(Electric Power Grid)が、余剰電力のある地域から、多くの電力を必要とする地域へ送電し、融通しあうことで多量の電力を供給する事例から、発想したと言われている。
このようなコンピュータの余剰計算パワーを有効利用するためには、使用者が実行したい大規模計算を分割し、多くのコンピュータへ分散させ、計算を並列に実行できなければならない。この実現のためには、使用されるコンピュータが同じ顔(インタフェース)を有しなければならない。
グリッド・コンピューティングの研究開発は、この同じ顔にみせるためのミドルウェア開発がその中心となる。また、異なるハードウェアやOSを持つコンピュータ群を同じ顔にみせるための共通仕様の決定が主な仕事となる。
2000年11月に共通仕様を決めるための世界的標準化団体、Global Grid Forum(GGF)が設立された。グリッド・ミドルウェアはオープンソース方式で開発が行われており、多くの研究者が参加するようになった。
また、インターネットに接続されたPCを数百万台用い、地球外生命探索のための計算を行う実験が行われたり、その他、多くの科学技術計算にグリッドが利用されるようになった。
2002年には、IBMをはじめとする大手メーカがグリッド・コンピューティングへの本格的参加と実用化を目指すことを発表したことから、急速に注目を集めるようになった。わが国においても、平成15年度から3年間の計画でサイエンス・グリッド、およびビジネス・グリッドのプロジェクトが実施される計画である。
グリッド・コンピューティングは、これまで別々の要素と考えられてきたネットワークとそれに接続されている多くの異なるコンピュータのインタフェースを共通化し、コンピュータの一部分を一まとめにして仮想的な一台のコンピュータとして利用可能とできる点が革新的である。このような仮想的構成をVirtual Organizationの機能と呼んでいる。
異機種や異種OS、異種データベースが全て同じインタフェースを有することで、従来のメイルにより交信したり、ホームページを見たり、個々のデータベースをアクセスする段階から進んで、多数のコンピュータやデータベースを一まとめにして使うことができる。これにより、あたかも強力な一台の仮想コンピュータや、いくつものデータベースを統合して多くの知識を加え合わせた仮想的な大規模データベースが構成できることになる。ネットワーク上にある計算資源やデータなどの資源を活用する自由度が大幅に増加することになる。
もちろん、インターネットのようなものの上で、このような仮想的環境を作るためには、機密保持や信頼性、安全性の確保などの問題が解決されねばならない。しかし、世界中に支店網を展開している会社内部のイントラネット上において、サーバー間の負荷の集中時に余剰計算パワーを融通したり、故障時のバックアップを行うことなどが容易となる。「2005年には、ビジネス分野の売上げが科学技術分野の売上げを追い越す」ともいわれている。
このような状況の中で、2002年度より、NITRD計画は、グリッドのミドルウェアやツールのサービスを目的とする調整部会、Middleware and Grid Infrastructure Coordination: MAGIC) を設けた。その役割は、NITRD計画に参加している各省庁のグリッド・コンピューティング開発計画を調整し、さらに米国内外のグリッド研究の協調を図ること、それにより、現在も米国中心で進んでいるグリッド・コンピューティング研究のバックアップをさらに強化することを意図しており、米国の戦略のしたたかさを感じる。
このようなグリッド・コンピューティングに関する動向については、その概要が本報告書の第2章にまとめられている。また、HECC-WGの報告書を参照願いたい。
2)Software Design and Productivity (SDP)
SDPは、1999年2月のPITAC勧告によって、NITRD計画のProgram Component Area (PCA)として追加されたテーマである。その目的は、現在のソフトウェアの抱える問題は深刻であり、信頼性は低く、安全性、可用性の面でも、きわめて不充分であるとの認識の上に立ち、今後、ますます、大規模、複雑化するソフトウェアの生産性を向上するための技術を理論レベルから再構築しようとするものである。
このため、多くの研究者の知恵を集める目的で、ワークショップなどを開催し、その研究開発計画の立案を公開で行っている。このワークショップでの現状認識や将来に向けての提言は、きわめて多岐にわたる興味深いものである。
また、このような議論を通して得られた研究開発方針がBlue Book 2003にまとめられている。ここでは、現世代のソフトウェアは、技術的にきわめて脆弱であり、われわれは、その開発とメンテナンスに巨大な資金を投入している。しかし、相互運用性が無く、拡張性も無く、また、コスト・パーフォマンスもよくない。これまで技術者は、形式的枠組みを持たず、詳細な設計図、関連する基本原理も持たず、訓練で培われた知識、品質保証された構成部品、コスト・パーフォマンスのよい開発プロセスなども持たなかった。つり橋を架けるような方法でソフトウェアを作ってきた。
NITRDの研究では、ソフトウェア開発のための新しい科学的モデル作りや、試験や評価方法に重点をおき、特異的な少数の人しか理解できないコードから脱却し、合理的でモジュラリティがよく、再使用可能な工学的設計への移行を目指す。
このためには、自動化された技術を使い、ソフトウェア製品の設計、構築、試験、検査を事前に可能とすることが必要である。何百万ステップもの大規模ソフトウェアをその利用以前に検査し、そこに潜む弱点を正確に指摘することが可能となるような技術を目指す。
というわけで、科学的基盤の構築から、理論や新知識、技術を積み上げて行こうという基礎研究を中心とする大構想が述べられている。しかし、なんといっても米国のプロジェクトであり、このような大構想だけでなく、すでに、一部で実用化されている将来性のある技術や、オープンソースソフトウェアプロセス(OSSP)などの利用についても研究を進めている。
このような将来に向けてのソフトウェアの基礎研究プロジェクトは、わが国では全くと言ってよいほど行われていない。
SDPの現状調査に関しては、第3章でかなり詳しい報告を行っている。