PR
講演する五島正裕氏 日経BPが撮影。スライドは同氏のデータで,最近のソフトウェア開発の状況をまとめている。
講演する五島正裕氏 日経BPが撮影。スライドは同氏のデータで,最近のソフトウェア開発の状況をまとめている。
[画像のクリックで拡大表示]
講演する笠原博徳氏 日経BPが撮影。スライドは同氏のデータで,OSCARコンパイラの特徴をまとめている。
講演する笠原博徳氏 日経BPが撮影。スライドは同氏のデータで,OSCARコンパイラの特徴をまとめている。
[画像のクリックで拡大表示]

 マルチコアやメニー・コアが,LSI関係の学会やイベントで盛んに採り上げられている。北九州国際会議場で開かれた「LSIとシステムのワークショップ 2009」(電子情報通信学会集積回路研究専門委員会が5月18日~20日に主催)でもそうだった。

 同ワークショップの今回のテーマは,いわゆるグリーン化である。LSIでグリーンと言えば,マルチコアやメニー・コアは外せない。この研究会の主なメンバーはLSIのハードウェアの研究者や開発者で(以下,ハード設計者),そうしたハード設計者がマルチコアやメニー・コアと聞けば,まず,高性能化や低消費電力化と言った言葉が想起される。

 ところが,ソフトウェア設計者にとっては必ずしもそうではないことを,今回のワークショップを聴講して,改めて認識させられた。今回のワークショップではLSIとシステムの関係をもう一度考えることを意図して,LSIのハード設計者だけではなく,機器サイドやソフトウェア・サイドからも講師を招いて,かなりの数の招待講演があった(Tech-On!関連記事1同2同3)。

 ワークショップの最終日(20日)には,東京大学の五島正裕氏や早稲田大学の笠原博徳氏らソフトウェアの専門家が招待講演を行った。例えば,五島氏は,主にソフトウェアの視点で,各種のプロセサやコンピュータのアーキテクチャを解説した。

 同氏は講演の最初の段階で「ソフトウェア開発サイドにとって処理性能は最優先事項ではなくなっている。開発や保守の容易性がより重要である。実際,JavaやRubyと言った言語が使われているのがその証拠」と述べた。

 その上で,「最近はSIMD型のマルチコアの関心が高まっており,ソフトウェア設計者には厳しい時代になってきた」旨の説明を行った。最適化うんぬんの前に,SIMD型マルチコア向けのプログラムを書いても,最初は動作すらしないケースが多いという。

 こうした同氏の話を聞いてだろう,質疑応答では次のような質問が出た。「ソフトウェア設計者にとって大事なことは率直に言って何ですか」。同氏の答えは「ペロッと書いたプログラムが動くこと。プログラムを書けば動くことが重要」である。

民生機器用マルチコア向けコンパイラの開発動機

 簡単にプログラムが書けたり,プログラムの開発効率化に関しては,笠原博徳氏も自身の招待講演で言及している。同氏は,シーケンシャルな通常のプログラムをマルチコアで効率よく稼動させるための「OSCAR(Optimally Scheduled Advanced Multiprocessor)コンパイラ」の開発でよく知られている(Tech-On!関連記事4同5同6)。

 同氏の招待講演で筆者の印象に残っているのは,まず,OSCARコンパイラの開発動機である。「並列プログラムはスーパー・コンピュータ向けに昔からある。しかし,開発に半年以上の時間がかかる。デジタル民生機器などの組み込み機器向けのマルチコアLSIでは,こんな時間はない。プログラムは簡単に作ることができる必要がある」(同氏)。

 OSCARコンパイラにはソフトウェア設計者の負担を軽減する仕組みが盛り込まれている。例えば,シーケンシャルな通常のプログラムの中から並列性を抽出する能力が高いという。また,APIを使うことによって,様々なアーキテクチャのマルチコアや既存のプロセサ・コア向けの開発環境を利用できるようにしてある。

 印象に残った二つ目の発言は,適用事例の説明だった。「プロセサ・コア8個で,1個の時に比べて5.8倍の性能を得たが,時間をかければ性能はもう少し上がる。しかし,2日間で5.8倍,しかも問題なく稼働した」(同氏)。まさに,簡単に開発できて,すぐに動くことを証明した。

 普段,性能や消費電力の追及を要求されるハード設計者には,「性能よりも,簡単に開発できること」という意見には違和感があるだろう。しかし,ハード設計者でも似たような状況はある。回路に電源を入れて動くかどうかは重要なポイントだ。速度を上げるなどの最適化はその次の課題である。

 ハードウェア-ソフトウェア協調検証などのEDAツールが,ハード設計とソフト設計の架け橋の一つになることは確かだが,互いの心(本音?)を知ることの重要性を再認識させられた。例えばOSCARコンパイラはソフト設計者だけではなく,ハード設計にも目を向けている。チップに備わった低消費電力機能を制御する仕組み(API)も備えているからだ。「折角,消費電力低減機能を付けたのに,なかなか使ってもらえない」というハード設計者の声が届いたのだろう。