-------------------------------------------- 分科会2 セッション S2-4-2 テーマ :組み込みシステムへのマルチコア導入の光と影 コーディネータ:冨山宏之 高野裕之 日時 :2005/8/26 15:10-16:50 会場 :B会場 席数 :80席 参加者 :20人程度 -------------------------------------------- -------------------------------------------- 概要: 組み込みシステムにマルチコアを導入する例が増えているという。しかし、マルチ コア導入が、メリットばかりをもたらすとは限らない。性能は本当に上がるの?、開 発コストも上がるのでは?、SW開発環境やOSに求められるのは?、など、導入にあた っては、疑問点も山程出て来る。装置開発者、SW開発者、LSI開発者、各々の思惑も 違うかもしれない。 本分科会では、チュートリアルの内容をきっかけにして、組み込みシステムにマル チコアを導入する場合のトレードオフや問題点を探りたい。 -------------------------------------------- -------------------------------------------- 内容: 司会者: 参加者のポジションを紹介して。私は MEP プロセッサをやっている。 A: マルチコアを使っているわけでないが、どういう風に使われていうるのか興味があ る。 B: N社のマルチコア設計で、とりまとめをしている。 C: ハードよりのソフトをやっている。 D: ソフトをやっている。機能を満たした上で、マルチメディアの機能を満たしたい。 E: プロジェクトで普通にマルチコアを使っていて、デバッグで困っている。 F: 組込みOSを作っている。コヒーレントキャッシュ。 G: 今やっていて、ハードとソフトをやるつもり。 H: 画像処理の高速化のためにマルチコアを利用したい。 I: 最近マルチコアをよく聞くので、面白そう。 J: ハードもソフトも開発したことがないが、勉強したい。 K: マルチCPU とマルチコアの違いが知りたい。 L: マルチコア関係の仕事をしている。 M: 共同研究の関係で、マルチコアをしている。機能分散で Linux と TOPPERS をやっ ている。あとは、負荷分散。 N: 負荷分散をやっている。マルチコアの将来性、今後どうなるかなど、コスト的な話 とニーズの話が聞きたい。 O: 通信インフラの基地局の担当。PowerPC 系が多い。今は Linux をやっている。 P: マイコンを長くやっている。CPUが複数あるのには慣れているが、1チップに複数は いるとどうかわるか。 司会者: どんな問題がマルチコアにあって、そもそもどういうものか、SK さん説明して。 SKさん: (スライド) マルチコアのメリット・デメリット それぞれの立場で、 ・企画者: ○スケーラブル品種展開、機能分割による設計規模削減 ×並列開発リスク。並列設計やり直しリスク ・装置設計者: ○高クロック設計。高クロック部品(メモリIP)が不要 ×並列アクセス設計 ・ソフト開発者 ○機能保障設計。セキュア設計(非干渉) ×処理の並列分割(アプリ、ミドル...)、排他制御対応、デバッグ ・エンドユーザ: ○安定安心、自由にいじれる部分(個性、創造) ×なし マルチコアに行くかやめるか? 今後もシングルコア上で十分性能達成できるか? 今後もソフト開発が破綻せずに継続していけるか? シングル上での開発の発展 マルチCPU 用並列ソフト開発 開発環境:多人数開発するなら実行環境もたくさん用意する必要。 Q: PowerPCでマルチコアやるなら Linux でいいのか? R: 熱の問題で、マルチCPUにならざるおえないのでは。ボード上で。 司会者: 理想は1チップのマルチコア、実際はボード上のマルチでやっている。それで、マル チに移行するがソースを変えたくない、ということ? R: 今日のチュートリアルでは、画像処理で、基地局とは違う? 司会者: 複数のCPU を1つのCPU として? R: そうです。そのほうがわかりやすい。 S: ある携帯電話では、非対称にしてある。応用分野によって、SMP かどうかは変わる 。 T: 昔からの SMP を使ったらソースを変えなくてもいい。ポーティングは必要。 中の機能を切り替えるのには非対称のマルチコアが有利。リコンフィグなHW が困難 なので、汎用CPU 複数を非対称で対応しているのでは。 T: Linux を無理やりリアルタイムかするなら、作ったほうが速い。 あるCPU では Linux、別のはリアルタイムで。 司会者: リアルタイム性をもとめるのか、SMP化していいのか? T: Linux をやるなら、1から勉強しないと難しい。Linux を使わないほうがいい場合も 。 R: マルチCPU にして、熱を抑えたい。 どういうふうに機能分割するのか、いつももめる。 基地局としては、マルチにしたい。 司会者: できあがってしまえば、並列プロセッサは性能がいい? S: 機能分割がうまくいけば。 動いているけど、性能が悪い、などあるので、教育からやらないと。 U: 最近のチップセットは、マルチコアになるとバスが見えないので、外から見えない 。チップ作る人はデバッグをサポートすることを意識しているの? 司会者: バスのトラフィックが見えるものはない。メモリなどを見ることはできるものはあ る。バスのトラフィックをどう外に出力するのか、っていうのは難しいので後回し (?) 見えてはいけないところは、デバッガからも見えないようにしないといけない。 V: 機能分割を自動では、やらないほうがいい。人手でやるほうがいいものができる。 まったく新しいものを作ることはない。見積もりの精度をよくする。 司会者: 見積もりの精度で、システマティックなものは? V: 実際に使えるものはない。 司会者: 見積もりの精度を上げて、1回のスパンを短くし、何度もまわすとよい。 W: 開発で、平行にすすめると、進行が違うので、統合時に何がなんだかわからない状 態で、検証が進んでいく。動くようになるまでが大変。まったく関係ないOSのプロ グラムで、CPU間を疎結合で作らないといけない。最初にCPU間のインターフェース を決める、CPU間は疎結合で、というところを決めておく。 司会者: 疎結合で、CPU間は通信は発生しないが、メモリへのアクセスはOK。 経験をつんで、製品展開になれば、いろいろできると思う。 X: マルチCPUで、シミュレータを作るが、全体の進み具合はこっちのほうが速いのでは ? W: そうかも。CPU のダミーを作るが、初期のプロトタイプのものを使うことで検証し ている。あとで、プロトタイプと製品を入れ替えて検証。 司会者: PowerPCだとシミュレータが転がっているのでは? Y: Linux と ITRON をどちらも使いたい。マルチで機能を分けてやったほうがいい? R: インフラの装置としては、複数のOSを使うことは考えていない。設計資産を考える と、マルチコアで ITRON と Linux はいいと思う。現状の解決法ではこれがいいと 思う。 司会者: emblix とかはどうですか? R: Linux はあまりさわりたくない。設計資産をかんがえると、ITRON を使いたい。の で、Linux と ITRON の両方がいいのでは。 司会者: ITRON の SMP対応は? Z: 割り込みなど、プロセッサによってアーキテクチャがかなり変わる。 AA: メモリ保護がきちんとしていていればいいが、ITRONなどメモリの排他制御などきち んとできていないもので、マルチ化するのはどうか、と? S: HW でプロテクションをしてしまう。 BB: ヘッダファイルを置き換え、ソースは変わらず、厳しいチェックを通してから関数 を呼ぶようにすることで、保護する。 司会者: リソース保護だと、あるHWしか見えないようにできる。 BB: ITRONで実アドレスを保障することができればいいが、マルチプロセッサでも問題に なる。 司会者: マルチコアの光と影が見えたのではないでしょうか。個人的見解だが、マルチコア に関する知識はためている最中かと。できるだけ情報を共有しましょう。 --------------------------------------------