ここからサイトの主なメニューです

4.スーパーコンピュータの利用を促進するためのアプリケーションソフトウェアの普及方策について

 次世代スーパーコンピュータを頂点とするスーパーコンピュータがその投資に見合うだけの効果を挙げるためには、その性能を十分に発揮しうるアプリケーションソフトウェアが不可欠である。このアプリケーションソフトウェア開発に際しては、既存のスーパーコンピュータにおけるソフトウェア資産を継承する必要がある。このため、アプリケーションソフトウェアの開発は、地球シミュレータをはじめ、大学や研究開発独立行政法人等が所有する既存のスーパーコンピュータを有効に活用して進めていく必要がある。
 このようなソフトウェアの円滑な継承があってこそ、次世代スーパーコンピュータをターゲットとして開発されたアプリケーションソフトウェアが、次世代スーパーコンピュータで高性能を発揮するのみならず、大学・研究機関において今後調達されるスーパーコンピュータシステムにおいても速やかに利活用され十分な成果を挙げられるようになる。
 また、このようなアプリケーションソフトウェアが開発され、利用が普及していくことによって、次世代スーパーコンピュータシステムの垂直展開がより促進されることも期待できる。
 そこで、WGにおいてアプリケーションソフトウェアの現状と課題、普及方策について議論したところ、以下の点が挙げられた。

(1) アプリケーションソフトウェア開発・利用環境の現状
 
大学などの研究室では、個人のプログラム開発はPC利用によることが多いため、ソフトウェア開発利用の環境面で、PCやコモディティ品などとの連続性や敷居の低さが重要となる。産業界ではPCクラスタの利用が一般化している。
オープンソースコードの利用が進んでおり、オープンソースコードをライブラリとしてプログラムの一部に組み込んでアプリケーションソフトウェアを開発したり、オープンソースコードそのものを丸ごと利用する場合も増えている。
HPC(注1)分野ではFORTRANの使用が多いが、HPC以外の分野ではCプラスプラスやJAVAといった新世代の言語の利用がほとんどである。性能追求と汎用性追求は相容れない部分があるが、アプリケーションソフトウェア普及の観点から考慮が必要である。

(注1): High Performance Computing 自然科学のシミュレーションなど、非常に計算量の多い計算処理のこと。

(2) アプリケーションソフトウェアの普及の現状
   現在、大学や研究機関等で開発されたアプリケーションソフトウェアの主に産業界への普及の仕方には、以下の3つがある。

1 共同研究などの契約関係に基づく利用
   アプリケーションソフトウェア開発者が所属する組織とアプリケーションソフトウェア利用者が共同研究等の契約を結び、契約書に規定されている範囲でアプリケーションソフトウェアを利用する。
2 オープンソフトウェア形式での配付
   アプリケーションソフトウェア開発者がオープンソースコードとして一般に公開する。事務局を置き、利用者に対してバージョンアップ情報の送付、利用相談を行うケースも存在する。また、2次的に企業が製品化することを許可し、商用展開するケースも存在する。
3 成果活用制度を用いた商用展開
   アプリケーションソフトウェア開発者が所属している組織が資金を出して製品化する。基本著作権を当該組織が持ち、営業活動やメンテナンス、クレーム処理、アップグレードなどを業者が行う。

   従来の、スーパーコンピュータのような高性能計算機が産業界で利用されていない時代は1がソフトウェア普及の主な手段であった。最近はベクトル機からスカラー機が主流になってきており、開発環境や利用環境が民間と共通になったことも重なり、23の動きが大きくなってきている。

(3) アプリケーションソフトウェアの普及に関する課題
 
1 アプリケーションソフトウェアの開発整備を行う人材の不足
   大学等の研究者にとっては、アプリケーションソフトウェア開発は研究とみなされないため、モチベーションの維持に困難がある。特に、アプリケーションソフトウェア利用者が必要とするマニュアル作成やユーザーインターフェースの整備を行う人が存在していない。
2 公開手法の問題
   アプリケーションソフトウェアを利用者へ提供する時に、ソースコードを提供するか、実行ファイルで提供するかという点で考慮が必要となる。実行ファイルで提供する場合、利用者がアプリケーションソフトウェアを改変できないため、汎用的に使用できるように作成されていない場合、定型計算以外にはほとんど役に立たない。ソースコードを提供する場合は、利用者がプログラムを改変してフィードバックする場合は開発者にも利益があるが、プログラムに含まれる技術が流出するという不利益が生じるおそれがある。
3 標準性・移植性の問題
   ソフトウェアの普及の観点では、アプリケーションソフトウェアの先進性よりもソースコードの可読性や移植性が重要になる。
4 著作権の問題
   大学等で開発されたアプリケーションソフトウェアの中には海外の研究者から個人ベースで持ち込まれたものがあり、他人が作成したものを部品として組み込んで作成されたアプリケーションソフトウェアが存在する。このようなプログラムの取扱いは、個人で対応するには困難であるため、一括したガイドライン等による管理が望まれる。
5 商用展開できるソフトウェアベンダーの育成
   特に産業界においてアプリケーションソフトウェアを利用する場合に、使用時におけるサポートとアプリケーションソフトウェアの保守・改善が必要とされており、これらを行うことが可能なソフトウェアベンダーが育つ環境作りが望まれる。

(4) 今後のアプリケーションソフトウェアの普及方策に関する検討
 
1 人材の確保
   先進的なアプリケーションソフトウェア開発の推進、開発されたアプリケーションソフトウェアが継続的に高度化できる体制(人員、処遇)の構築や、アプリケーションソフトウェア開発者のキャリアパスが保証されるような組織、施策が必要となる。特に、日本ではアプリケーションソフトウェアとハードウェアのつなぎの部分を行う研究者が不足しているため、開発者の養成・確保が必要となる。
2 テストベッドの構築
   大学等の研究室では連綿とアプリケーションソフトウェアが開発されているが、教官の定年等によってアプリケーションソフトウェアの継続が途絶えてしまったり、プロジェクトで開発されたアプリケーションソフトウェアがプロジェクト終了後にメンテナンス不可能になったりする問題がある。これを解決するために、アプリケーションソフトウェアのメンテナンス、普及等を行う恒常的なテストベッドを産官学で構築し、アプリケーションソフトウェアの継続性を確保することが必要となる。
3 実例の充実
   アプリケーションソフトウェアとハードウェアの整備だけでは利用は進まない。サポートが提供される商用アプリケーションソフトウェアと異なり、オープンアプリケーションソフトウェアでは計算例を開発者だけが用意するのではなく、ユーザー会等のコミュニティ形成によって、利用者同士で情報共有する仕組みが必要となる。その際に、実験者、研究者への利用の広がりや利用者(特に産業界の利用者)の知的財産権や機密に配慮した仕組みが必要となる。
4 優れたアプリケーションソフトウェアを集約する体制の構築
   これまで大学等や国のアプリケーションソフトウェア開発プロジェクトによって作成されたものが多数あるが、それらのうち優れたものを選別し、改良することによって価値の高いアプリケーションソフトウェアの利用促進することが可能となる。

前のページへ 次のページへ


ページの先頭へ   文部科学省ホームページのトップへ