IPA


開発成果一覧へ





2005年度上期 未踏ソフトウェア創造事業 成果評価報告書(プロジェクト全体について)



 プロジェクトマネジャー: 高田 浩和 (株式会社ルネサステクノロジ システムコア技術統括部 CPU開発第二部)



1.プロジェクト全体の概要


 さまざまな組み込み機器とそこに使用される組み込みソフトウェアは、ユビキタス社会を支える重要なキー・コンポーネントとなっている。本プロジェクトでは、「高性能組み込みシステム開発のための基盤ソフトウエア技術」をテーマに、次世代の高性能組み込みシステムを開発する上で重要となる基盤ソフトウェア技術について開発テーマを募集し、プロジェクトを推進した。

 携帯情報機器やデジタル家電の例からもわかるように、近年、組み込みシステムに使用されるソフトウェア規模は著しく増大している。加えて、それら組み込み機器の製品開発サイクルは極めて短期間となってきていることから、個々のエンジニアの経験と職人技にたよるだけでは高性能なソフトウェアを効率的に開発することが困難になりつつある。
 こうした状況のもと、日本がこの分野で優位に立ち続けていくためには、組み込みソフトウェアの開発において、組み込みソフトウェアの特徴であるハードウェアに密着した個別性、特殊性を考慮しながらハードウェア性能を最大限に生かし、かつソフトウェアの生産性を飛躍的に向上させることのできる、ソフトウェア開発上のブレークスルーが必要不可欠なものとなってきている。
 そのためには、プラットフォームやミドルウェア、そして開発ツールの整備といった従来手法だけでなく、それらとは異なるアプローチにもとづく新しいプログラミング環境、開発ツール、あるいは開発スタイルといったものをソフトウェア開発に導入し実用化していくことが重要となってくる。

 今回、2005年度上期のプロジェクトでは、公募の結果、以下の3件のテーマを採択した。未踏プロジェクトの名にふさわしく、ローエンドの組み込みマイコンを対象としたものからハイエンドの数値計算アプリケーションを対象としたものに至るまで、非常にバラエティに富む、広いレンジをカバーした内容となっている。

 ● 組み込み環境向け日本語入力環境の開発(吉田、太田)
 ● 組み込み機器向け軽量コンパイラの開発(田村)
 ● リコンフィギャラブルスーパーコンピューティング環境(濱田、中里)
 
 これらの採択プロジェクトでは、それぞれ次のような内容について開発を行いプロジェクトを推進した。

 ● リソースの限られた組み込み環境でも使える、組み込み向けのオープンソースな日本語入力環境

  (仮名漢字変換エンジン Anthyと、入力フレームワーク uimおよびその Scheme処理系、SigScheme)の開発
 ● ハードウェアの仮想化と軽量コンパイラにより、組み込みソフトウェアの生産性・保守性の向上を大幅に向上させることのできる、ローエンド・マイコン向けプログラム開発・実行環境。
 ● FPGAを用いたハードウェア・アクセラレーションによる大規模数値演算用リコンフィギャラブル・スーパーコンピューティング環境の開発。FPGA用コンパイラPGRの各種FPGAハードウェアへの対応、およびPGRシステムの普及に向けた低コスト版FPGAボードPROGRAPE-4の開発。

 プロジェクト全体として、組み込みソフトウェアの基盤技術という見地でのこれらプロジェクトの意義はおよそ以下のようなものである。ただし、これら各プロジェクトの目指す開発成果は、個別には必ずしも組み込みシステムに限定されるものではなく、極めて広範な分野に適用可能な基盤技術を含んでいる。

 ● リソースの限られた組み込み環境でも使えるソフトウェアを開発すること。また、プロプライエタリ中心であった組み込みソフトウェアにオープンソース・ソフトウェアの開発スタイルを持ち込むこと。
 ● プログラミング開発・実行環境の整備によって、誰でも容易に組み込みソフトウェアを効率よく開発し利用できるようにしたこと。
 ● ハードウェアに関する特殊な知識をもたないアプリケーション・プログラム開発者でも、容易にハードウェアを用いたデータ処理を行うことを可能にするプログラミング・ツール環境(FPGA用コンパイラ)を整備し、ハードウェアを利用した高性能なアプリケーション開発を行えるようにしたこと



2.プロジェクト採択時の評価(全体)


 応募総数は5件であり、うち3件を採択した。募集に際しては、
 ● 組み込みシステム用基本ソフトウェア
 ● マルチコア環境への対応
 ● 組み込みシステムのシステムレベル設計・評価技術
に関するテーマを募集したが、これらに直接該当する応募はなかった。
応募総数が少なかったのは、公募テーマの目的と方針を明確なものとするため、テーマを組み込みソフトウェアに限定して絞り込んだことが主な要因とも考えている。2006年度の公募ではこの辺りを勘案し、募集の際の公募テーマの間口を広げることとした。

 審査はPMが単独で行い、書類審査で絞り込んだ後、ヒアリングを行って採否を決定した。採択については、目的や目標が非常に明確で、開発者自身にやる気がみられ、成果としても有用と思われるものを採択した。採択時の審査に当たっては以下の点を重視した。
 ● 有用性が高いこと。使えるソフトウェアであること。
 ● 未踏性が高いこと。技術的にユニークで、独創性があること。従来の枠組みにとらわれない新しい切り口をもつこと。
 ● オープンソース・プロジェクトとして公開されること。
 ● 期間内に実現可能なテーマであること。

 ただ、採択に際しては各プロジェクトの未踏性や有用性を第一に考え、とくに成果を出すことを優先したわけではなかったが、候補者が限られる中、結果的に、今回採択した3件のうち2件が過去未踏プロジェクトに採択されたテーマに関連する発展・展開開発となったこと、採択者が過去IPAのプロジェクトで採用された経験をもつメンバーばかりとなったことは、優れた開発者一人でも多くを発掘しようという未踏プロジェクトの趣旨的には幾分残念な結果となった。

 吉田プロジェクトについては、組み込みシステム向けにオープンソースの日本語入力システムを構築しようという、ある意味野心的な提案であることから採択を行った。計画では、PCで実績のある Anthyと uimをベースに開発を進めることになっており、完成すれば実用性・有用性の高いシステムとなることが期待できたためでもある。メモリ容量などの制約のもと、組み込みシステム向けの改良は必須となることが予想され、例えば Schemeインタプリタについても内部の実装にまで踏み込んで改良するなどの必要性があり、効率よく入力できる実用的なシステムを構築するのはそれほど容易なことではないと思われたが、日本語入力システムの内部を知り尽くしたデベロッパーだからこそ成し得る成果に強く期待して採択した。

 田村プロジェクトについては、組み込み用のローエンド・マイコンを対象とした、小規模組み込みシステム開発環境の開発を行う提案であり、メモリ容量が少なく、アーキテクチャ的にも制約の多いローエンド・マイコンを使った組み込みシステムにおいても、コンパイルされた中間コードをインタプリタで実行することで、スクリプト言語のような使い勝手と開発スタイルを利用できるようにしようというものであった。審査時の率直な感想としては、このプログラミング言語の言語仕様が言語処理系の簡単化のためにかなり独特なものとなっており、「初心者にもわかりやすい」という開発者の主張がすべてのユーザに受け入れられるかどうかについては少々疑問な部分があったことは否定できない。しかし、OSのない組み込みシステムに向けての開発効率向上のためのアプローチであり、かつマイコン学習教材や小規模システムの開発にも手軽に利用できることから、未踏プロジェクトの趣旨に照らして採択した。

 濱田プロジェクトについては、前年度の未踏ソフト・プロジェクトにおいて、FPGAを用いたリコンフィギャラブル・ハードウェアのためのFPGAシステム用コンパイラPGRをすでに完成させており、デスクトップ上のFPGAボード単体で100GFLOPSを超える画期的な数値演算性能を実現していた(2004年度上期成果報告会時点での値。審査時点ではさらにチューニングがすすみ200GFLOPS超をマーク)。
 濱田氏らの提案するFPGAを用いたリコンフィギャラブルシステムは、専用ハードウェアやスーパーコンピュータでしか実現できなかった数値演算性能を卓上のPCとFPGAボードのみで実現することを可能にしており、天体物理における数値シミュレーションのみならず、他の大規模数値計算の分野にも革命をもたらすほどのインパクトを持つものである。今回、本格的にPGRシステムを普及し実用化していくために、より多くのFPGAボードにPGRを対応させ、さらに一般入手しやすい安価なリファレンス・プラットフォームとしてのFPGAボードを開発する必要があった。このようなボードを開発できれば、高速数値シミュレーション技術を今よりももっと身近なものにできる可能性がある。さらにまた、PGRコンパイラとFPGAボードの組み合わせによって構成されるリコンフィギャラブルシステムの可能性について考えたとき、これらは大規模数値計算シミュレーションへの応用だけでなく、高性能組み込みシステムを構築するための基盤技術としても位置づけることのできる非常に重要な技術であると判断した。
 濱田氏らのプロジェクトは、学会レベルで世界的にも最先端レベルの成果を出してはいたものの、勤務先の理化学研究所で主に担当している業務以外の仕事として行われている個人レベルのプロジェクトであったこと、まだ萌芽的な段階にとどまっており、競合する世界の他のグループが本格的に取り組めば、あっという間に現在の優位がくつがえりかねない可能性もあることから、未踏プロジェクトとして支援することは適当と判断し採択を行った。



3.プロジェクト終了時の評価


 今回採択したどのプロジェクトも、すでに開発のベースとなるような稼動するソフトウェアやプロトタイプが存在したこともあって、開発は順調に推移した。

 中間成果報告会は、一般公開とし、10月下旬に中間発表会を、関西オープンソース(KOF2005、http://k-of.jp/d_bof.html#b102816006F6D)の公開セッションとして実施した。また、ブースでのデモ展示も行った。開発期間の中間段階での開発途中の段階ではあったが、開発者のプロモーションを第一と考え、開発者の希望を確認した上で、一般公開の形で実施することにした。イベントでの発表・展示ということで、中だるみすることなく開発者のやる気を引き出すことができ、またマイルストーンを明確にして早めに成果を目に見える形でまとめ、ある程度の成果を確保することで後半の開発をやりやすくすることができたと考えている。

 最終成果報告会については、3PM(並木PM、竹林PM、高田PM)合同で3/18に行う予定である。残念ながら、関係者の都合がつかず、開発期間中に実施することはできなかったが、合同成果報告会とすることで、できるだけ多くの開発者と交流を深め、フィードバックを得たいとする開発者の希望に添えるものしたいと考えた。他のプロジェクトの開発者の成果に間近にふれることの出来るよい機会でもあり、PMとしてもよい刺激を受けることができたと感じている。

 各プロジェクトでは、ほぼ期待どおり、当初の目標もしくはそれを上回る画期的な成果を得ることができた。
 ハードウェアの仮想化とツールによるコード生成技術は、これまで特殊なハードウェアの知識が必要とされた組み込みソフトウェアの生産性を飛躍的に高めることのできるアプローチとして大いに期待がもてる。また、リコンフィギャラブルなハードウェア(FPGA)とPGRコンパイラを用いることで、デスクトップシステムにおいてスーパーコンピュータ級の演算処理性能を実現しながらも、低価格FPGAボードの開発と量産によって、ハードウェアの知識や数値計算の経験によらず、ユーザーであるアプリケーション・ソフトウェア開発者が自らの手で容易に超高性能なシステム開発を行うことのできる環境を提供することが可能となった。これらの技術は組み込みシステムの開発においても大きなインパクトを持つものである。
 一方で、メモリ容量など、リソースの制約の多い組み込み機器上でも利用可能な日本語入力環境など、オープンソース・ソフトウェアの開発にも注力し、実際に組み込みハードウェア環境で動作させることができた。日本語入力環境の開発者はコミュニティで活躍するデベロッパーでもあり、極めて高いスキルをもち、早い段階で計画通りの成果を得ることができた。

 組み込みソフトウェアにオープンソース・ソフトウェアの開発スタイルを持ち込むことに関しては、オープンソースな手法によって組み込みソフトウェアの開発効率と保守性を上げることを企図した。ただし、これについては、もともとオープンソースなプロジェクトで開発されていたもの以外では開発期間中にコミュニティ・ベースの開発が立ち上がるまでには至らなかった。今後、ソフトウェアの普及に伴い、徐々にコミュニティが広がってゆくことを期待したい。


ページトップへ






Copyright(c) Information-technology Promotion Agency, Japan. All rights reserved 2004