トロン協会・ITRON仕様検討グループ・次世代組込みRTOS調査ワーキンググループでは、昨年12月12日、TRONSHOW2009 最終日に「マルチコアシステムの現状と課題」というテーマで、パネルセッションを行ない、マルチコアで性能を引き出す手法や、既存資産をどうマルチコアに移行するかについて、第1線で活躍中のCPU・OS・ツールの各ベンダーとユーザ各社のマネージャ、エンジニアが議論を行ないました。参加者は98名でした。以下にセッションの内容を一部抜粋・要約し紹介します。
【コーディネータ】
山田 真二郎((株)ルネサスソリューションズ ツール開発部 RTOSグループ主任技師)
【パネリスト】
金子 智範(イーソル(株)EP事業部 技術部 プラットフォーム課 課長)
木下 稔章((株)デンソークリエイト プロジェクトセンター システム2室 室長)
竹内 良輔((株)リコー プリンター事業本部 エグゼクティブスペシャリスト)
西井 修((株)ルネサステクノロジ CPU開発第一部 部長)
宮下 光明((株)グレープシステム 第一技術部 テクニカルマネージャ)
吉田 正康(NECエレクトロニクス(株)自動車システム事業部グループマネジャー)
◆マルチコアで性能を引き出す手法について
・CPUベンダの立場から
バス構造の最適化
マルチコアになるとメモリにアクセスする要因が増える。そのため従来の各コアがバスを共有する方式だとアクセス遅延が発生する。新たに想定利用状況から最適化したバス構造を開発し、アクセス遅延の解消を図った。(吉田)
・OSベンダの立場から
SMP OS の場合は、コア間の排他制御を行なうために、一般にスピンロックという処理方法が使われている。この方式だとリアルタイム性能を保証しにくくなる。このため、各社ともSMPとAMPを組み合わせる方法とか、BMPという特殊なやり方を工夫しているが、この方式がデファクトだというようなものがないのが現状である。(宮下)
・ユーザの立場から
従来システムで逐次処理により実現していたCPU負荷の高い処理の分散化を考える必要がある。たとえば、カーナビゲーションシステムで、ナビのルートを5ルート計算する場合、1ルートずつ4つのコアに割り当てて計算させるとか、ループ中の並列性を抽出して、コアの割り当てを組み直すなどの例が考えられる。(木下)
・ユーザの立場から
プリンタのインクジェットのコントローラを設計している。コスト面とシステムの規模の大きさ(100万〜200万ステップ)から、ヘテロジニアスの形を考えている。100万行のステップをもしAMPでやるとすると、性能を出すために、たとえばデータ領域をきちっとモジュールごとに分けなければならないが、それだけでも非常にたいへんだ。一方、SMPを使えば良いかというと、デバッグするのにそれなりのツールが必要だし、開発者もスキルを上げなくてはならない。(竹内)
◆既存資産をどうマルチコアに移行するかについて
・CPUベンダの立場から
シングル資産がある場合、マルチに移行して期待される性能アップが出きなかった場合どうするかが一番の不安。CPUメーカとしては、SMPの場合、ひとつは、アルゴリズムの並列化が適切に行なわれているかを判断するために、性能解析のカウンター系の充実を図り、サポートツールとの組み合わせによって、マルチシステムを構築するや否や、瞬時に性能阻害要因が分かる機能を開発すべきと考えている。ふたつめに、マルチ特有のCPU間の排他や同期によるオーバヘッドについては、リアルタイムに各プロセッサの挙動をトレースできる機能を強化していく必要があると考えている。(西井)
・ツールベンダの立場から
段階的な移行を可能にするツールを提供している。シングルプロセッサモードを利用して同一コア上に旧ソフトを搭載 → 解析ツールを使って、どの部分がパフォーマンスボトルネックになっているか調べる → 見つかったボトルネック処理の複数CPUへの並列化を検討、段階的にSMP対応していく。(金子)
最後に、山田コーディネータが、「組込みマルチコアは黎明期であり、LSI、OS、ツールは、まだまだ進歩と連携が必要です。われわれ次世代組込みRTOS調査ワーキンググループでも、微力ながらお力添えが出来ればと考えています」と締めくくり、セッションは終了しました。