IPA


開発成果一覧へ

 



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


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

 

 


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


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

 

 携帯情報機器やデジタル家電の例からもわかるように、近年、組み込みシステムに使用されるソフトウェア規模は著しく増大している。加えて、それら組み込み機器の製品開発サイクルは極めて短期間となってきていることから、個々のエンジニアの経験と職人技にたよるだけでは高性能なソフトウェアを効率的に開発することが困難になりつつある。一方、ハードウェア記述言語を用いたハードウェアの開発が主流となるに伴い、ハードウェアとソフトウェアの境界は性能・コストのトレードオフにより決定されるようになり、組み込みシステムのハードウェア開発にもソフトウェア的な側面が導入されつつある。

 こうした状況のもと、組み込みソフトウェアの特徴であるハードウェアに密着した個別性、特殊性を考慮しながらハードウェア性能を最大限に生かし、かつソフトウェアの生産性を飛躍的に向上させることのできる、組み込みシステム(ソフトウェア/ハードウェア)の開発におけるブレークスルーが強く求められている。そのためには、プラットフォームやミドルウェア、そして開発ツールの整備といった従来手法だけでなく、もっと異なるアプローチにもとづく新しいプログラミング環境、開発ツール、あるいは開発スタイルといったものを導入し実用化していく必要がある。

 

 今回、2005年度下期のプロジェクトでは、公募の結果、以下の2件のテーマを採択した。どちらのテーマも未踏プロジェクトにふさわしく、チャレンジングで未踏性の高いものである。

 

      ユビキタス並列アプリケーション用プロトタイピング環境の開発(佐々木)

      抽象度の高いハードウェア記述言語(西川、桜庭)

 

 これらの採択プロジェクトでは、それぞれ次のような内容について開発を行いプロジェクトを推進した。

 

      組み込み用マイクロプロセッサを使用したクラスタ・コンピューティング環境の構築と、固定小数点演算関すライブラリおよび固定小数点演算版画像処理・画像照合ライブラリの開発

      現代的なソフトウェア記述言語のもつ抽象化機構を取り入れ、抽象的にハードウェアを記述することを可能とすることで、ハードウェア設計の効率と生産性を向上させることを目的としたハードウェア記述言語 HDMLHardware Description Meta-Langauge)の開発

 

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

 

      リソースの限られた組み込み環境でも使えるソフトウェアを開発すること。固定小数点演算ライブラリにより、浮動小数点演算ユニットをもたない組み込みプロセッサにおいても、高速な処理を実現できるようにしたこと。

      組み込みマイクロプロセッサを用いたクラスタを構成し、実際に動作させることにより、ユビキタス・ネットワーク・コンピューティング環境を実現するための要素技術開発を推進したこと。

      ハードウェア技術者以外の開発者が、ハードウェアの開発に際して効率的で生産性を向上できるようなハードウェア記述言語 HDMLについて検討を行ったこと。抽象度の高いハードウェア記述を基に、コンパイラがFPGAにマッピング可能なVHDLに変換することで、ハードウェア開発を効率化する枠組みを構築したこと。

 


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


 応募総数は3件であり、うち2件を採択した。募集に際しては、

      組み込みシステム用基本ソフトウェア

      マルチコア環境への対応

      組み込みシステムのシステムレベル設計・評価技術

に関するテーマを募集した。このうち、採択した佐々木プロジェクトはマルチコア環境に、西川プロジェクトは組み込みシステムの設計技術に、それぞれ関連したテーマとなっている。

 応募総数が少なかったのは、公募テーマの目的と方針を明確なものとするため、テーマを組み込みソフトウェアに限定して絞り込んだことも一つの要因と考えている。2006年度の公募ではこの辺りを勘案し、募集の際の公募テーマの間口を広げている。

 

 審査はPMが単独で行い、書類審査で絞り込んだ後、ヒアリングを行って採否を決定した。採択については、目的や目標が非常に明確で、開発者自身にやる気がみられ、成果としても有用と思われるものを採択した。採択時の審査に当たっては以下の点を重視した。

      有用性が高いこと。使えるソフトウェアであること。

      未踏性が高いこと。技術的にユニークで、独創性があること。従来の枠組みにとらわれない新しい切り口をもつこと。

      オープンソース・プロジェクトとして公開されること。

      期間内に実現可能なテーマであること。

 

 佐々木プロジェクトについては、これまで開発者は、各種組み込みCPUを搭載した評価ボードによる組み込みLinuxクラスタシステムを構築し、分散・協調並列処理の研究を進めてきている。今回は、さらにその研究を発展させる形で、マルチコア組み込みCPUによるクラスタ計算機を開発し、画像処理アプリケーション等をクラスタ上で容易に作成するためのプロトタイピング支援環境を作成するとの提案であった。組み込み機器に搭載されたCPUによる分散・協調並列処理は、ユビキタスコンピューテイング環境における並列処理クラスタにおける重要な技術であるが、従来そのような組み込みCPUクラスタシステム上でのアプリケーション開発を支援するようなツールは無く、これまで科学技術計算のような一部のアプリケーションで使用されることの多かったクラスタシステムの幅広い応用にも道を拓く技術であると考えられ、開発の成果に期待し、採択を行った。

 

 西川プロジェクトについては、これまで、ハードウェアシステムの設計効率向上に関しては、ハードウェアIPIntelectual Property)の整備・拡充と再利用によるアプローチが主流となっている。しかし、本提案にある、ハードウェア設計におけるデザインパターンを整理・適用し、抽象度の高いハードウェア記述言語によってハードウェア設計を行うというアプローチによれば、IPの直接利用よりもさらに細かな粒度でのカスタマイズが可能となる一方、ハードウェアの設計手法をより柔軟で効率的なものにできる可能性があると思われた。アイデアレベルの提案でありその効果は未知数ではあったが、未踏プロジェクトの趣旨を鑑み、本提案を採択とした。


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


 今回採択したどちらのプロジェクトも、開発したソフトウェアについては全くの新規開発であったが、ほぼ当初の計画どおり開発は順調に推移した。

 

 中間成果報告会(611日@東京国際フォーラム)は、一般公開形式で実施した。初めての試みとして、関係者のスケジュールが合わず遅めの開催となったこともあり、2006年度キックオフ・セミナーとの合同開催としたが、このような合同開催は開発者同士の縦のつながりを深める意味でも有効だったと考えられる。今回、中間報告会では、中間成果報告のプレゼンテーションとは別に時間をとり、ある程度最終的な成果物の動作をイメージできるようなデモンストレーションを開発者に実施してもらうこととした。中間段階でのデモ展示は開発者にとっては準備等が大変になるが、開発のマイルストーンを明確にするとともに開発成果へのフィードバックを得やすい点で、非常に有効なものであると考えている。今回の中間成果報告会は、未踏OBや他の開発者の参加も得て活発な質疑応答や議論を行うことができ、その後の開発についての多数のコメントやサジェスチョンが得られるなど、非常に有意義なものとなった。

 

 最終成果報告会(827日@丸ビル・カンファレンススクエア)は、上期のようなPM合同報告会の形はとらず、担当プロジェクトだけの単独開催(一般公開)とした。最終成果報告会に関しては、初めての試みとして、報告会を2部構成をとし、通常の成果報告会形式での成果報告発表(第一部)とは別に、BOF形式での討論(第二部)を設けた。第二部のBOFを設けたのは、開発内容の中身についても興味をもった参加者が自由に議論し、より密度の濃い討論ができればと考えたためである。そのため、BOFについては一般公開とはせず、非公開形式と設定したが、実際には希望する第一部の参加者にそのまま引き続き参加をいただいた。開発した成果物の中身を具体的なコードを参照しながら解説してもらい、工夫した点や困っている点について議論することで、より深い理解と活発なフィードバックが得られたものと考えている。

 

 各プロジェクトでは、ほぼ当初の目標どおりの成果を得ることができた。

 ユビキタス・コンピューティング・クラスタに関しては、実際に組み込み用マルチコア・マイクロプロセッサを用いてクラスタを構成し、動作を実証することできた。さらにまた、開発した固定小数点演算関数ライブラリ、画像処理ライブラリを用いることで、浮動小数点演算の場合の数十倍もの高速処理を実現した。これらの成果は、高性能組み込みシステムにおいても画期的なインパクトを持つものである。

 ハードウェア記述言語 HDMLについては、アイデアレベルの提案から、独自の言語仕様にもとづくHDMLコンパイラ処理系を実装し、実際にいくつかの小規模なハードウェア開発に適用して、合成可能なFPGAを生成してFPGAにマッピングし評価ボード上で動作させることに成功した。ハードウェアのデザイン・パターンライブラリを利用するとともに、抽象度の高いハードウェア記述を可能にしてハードウェア設計の効率と生産性を高めるというHDMLのアプローチは、ソフトウェア技術者にとっても魅力的である。今のところ適用事例は小規模かつ少数であり、現段階では可能性は未知数であるが、今後、デザインライブラリなど開発環境の整備に伴い、リコンフィギャラブルなハードウェア(FPGA)をターゲットに、ハードウェア開発を含む組み込みシステムのプロトタイプ開発などに利用が広がっていくことを期待する。

 

 各プロジェクトの成果はオープンソースとして公開される予定である、今後、成果の普及とともに、幅広いユーザからのフィードバックを得て、さらにプロジェクトが発展していくことを大いに期待している。

ページトップへ