--------------------------------------------
分科会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で実アドレスを保障することができればいいが、マルチプロセッサでも問題に
なる。


司会者:
マルチコアの光と影が見えたのではないでしょうか。個人的見解だが、マルチコア
に関する知識はためている最中かと。できるだけ情報を共有しましょう。


--------------------------------------------