【インタビュー】マルチコア化に向けた組み込みシステムの動向「マルチコアの面倒はOSが見る」−東京大学大学院:坂村健教授[09/02/26]

このエントリーをはてなブックマークに追加
1依頼@台風0号φ ★
 組み込み機器の開発プラットフォームである「T-Engine」と、それに向けたリアルタイムOSである
「T-Kernel」。組み込み機器向けのプロセッサもマルチコア化が進み、T-Kernelも対応した。それが
「MP T-Kernel」である。T-EngineやT-Kernelの標準化を行うT-Engineフォーラムの発起人であり
代表を務める坂村健氏に、マルチコア化に向けた組み込みシステムの動向について聞いた。
(聞き手=渡邊淳一)

EE Times Japan(EETJ): 組み込み機器にマルチコア・プロセッサを採用する利点は何か。

坂村氏: 今までのマイクロプロセッサは、半導体の微細化技術で、消費電力の上昇を現実的な
ところに抑えながら性能を高めてきた。その技術が、壁に当たってしまった。今以上の性能向上には
マイクロプロセッサの動作周波数を上げるしかないが、そうすると単純に言えば、周波数向上に
対して3乗の割合で消費電力が爆発的に高まる。

 発熱の問題は、組み込み機器では特に深刻だ。携帯機器には大げさな排熱装置を付けられない。
車載情報機器では動作環境の温度が高く、自己発熱量が高ければ熱で機器が動作不良を起こして
しまう。しかし、カー・ナビゲーション機器もデジタル・カメラもますます高機能化しており、マイクロ
プロセッサの性能向上が強く求められている。

 そこで注目されているのが、マルチコア・プロセッサだ。微細化技術によって増えたトランジスタ数で
高機能化するのではなく、複数のプロセッサを1つのチップの中に作る。周波数を80%に低くすれば
消費電力は半分になる。プロセッサをデュアルコア化すれば、プロセッサ1つのときと同じ消費電力で、
処理性能を1.6倍に高められる。

EETJ: マルチコア・プロセッサを採用する際の課題は何か。

坂村氏: リソースをコア間でどのように共有するかなど、ソフトウエアを大きく書き変えないといけなくなる。
組み込みソフトウエアの規模は非常に大きくなっている。既存のソフトウエア資産やミドルウエアなどが
すべて書き直しになるのは問題だ。

 このような問題をできる限り解決した、シングルコア・プロセッサ用と互換性の高い組み込みOSが
求められている。

▽坂村 健(さかむら けん)氏
東京大学大学院情報学環教授・工学博士。2002年1月よりYRPユビキタス・ネットワーキング研究所長を兼任。
IEEE(米国電気電子学会)フェロー。
▽ソース:EE TIMES Japan (2009/02/26)
http://eetimes.jp/article/22824/index.html
記事は>>2以降に続きます。
2依頼@台風0号φ ★:2009/02/28(土) 02:29:19 ID:???
>>1の続きです。

EETJ: マルチコア・プロセッサの性能を生かすには、アプリケーション・ソフトウエアをどのように
作り込んでいく必要があるか。

坂村氏: マルチコア・プロセッサは、ソフトウエア面から見ると、マルチプロセッサと同じである。マルチ
プロセッサは、30年以上前の大型機のときからあるアーキテクチャだ。アーキテクチャ上は、大型機に
採用されてきたことを組み込み機器などの小型機に反映しているだけである。そのため大型機に由来
する情報処理系のOSでは、マルチプロセッサであることを意識せずにソフトウエアを開発できる。しかし、
それらの情報処理系OSのスケジューリングは一般にラウンド・ロビン方式で、リアルタイムOSに必要な
プライオリティ方式ではない。組み込み機器に高性能なプロセッサを採用すれば、情報処理系OS でも
疑似的にリアルタイム性を出すことはできる。しかし、そのためにオーバーヘッドが出るなら、マルチコア・
プロセッサで消費電力を抑える理由が分からなくなる。組み込み機器でマルチコア・プロセッサの性能を
生かすには、マルチコアに対応したリアルタイムOSが必要となる。

 さらに、マルチコア・プロセッサを使った組み込み機器では、大きく分けて次の2つの構成が考えられる。
各コアを個別のOSが管理する AMP(Asymmetric Multiple Processor)構成と、複数のコアをまとめて1つの
OSが管理するSMP(Symmetric Multiple Processor)構成だ。情報処理系OSで扱うマルチプロセッサは
SMPのみだが、「MP T-Kernel」はどちらの構成にも対応する。AMP構成は各コアの役割分担が固定的な
ときに有効で、汎用性を前提とする情報処理系OSでは一般に対応していない。SMP構成は情報処理系
OSも対応しているが、プライオリティ・スケジューリングしながらプロセス実行を動的に複数のプロセッサ・
コアに振り分ける機構は持っていない。MP T-Kernelを使えば、アプリケーション・ソフトウエアが実行時の
コア数に合わせて最大限のパフォーマンスを引き出すように、タスクを分配する。

 T-Kernel上で動作するソフトウエアは、タスクに分割されている。もともとタスクに分割されているのだから、
それをSMP構成で稼働させれば、各タスクが異なるプロセッサ・コア上で同時に実行できるようになる。
シングルプロセッサでは、複数のタスクを疑似的に同時に動かしていたものを、本当に同時に動かせる
ようになるわけだ。

EETJ: ソフトウエア開発者は、機器のプロセッサ構成がシングルプロセッサなのかマルチプロセッサ
なのかを意識して区別せずにソフトウエアを開発していけるということか。

坂村氏: それが理想だ。「T-Kernel Standard Extension」を使ってソフトウエアを開発していれば、
特別なコードを記述することなく、マルチコア・プロセッサの性能を生かせるようにしたい。組み込み
ソフトウエア開発者に、チップが備えるコアの数を意識してソフトウエアを開発させるようなことはしたくない。

 なお、T-Kernel Standard ExtensionはT-EngineフォーラムがT-Kernel向けに用意している大規模で
高度な組み込みソフトウエア向けの拡張OS機能群だ。メモリー管理やプロセス管理、ファイル管理や
イベント管理、デバイス管理などの機能を含んでいる。

記事は>>3以降に続きます。
3依頼@台風0号φ ★:2009/02/28(土) 02:29:35 ID:???
>>2の続きです。

EETJ: これからの組み込みソフトウエア開発はどのような方向へ進むと考えているか。

坂村氏: 複数の異なるOSの連携が重要になるだろう。例えば携帯電話機には、マルチコアではないが、
すでに複数のプロセッサが使われている。無線通信を司るベースバンド・プロセッサや、グラフィックス・
プロセッサ、アプリケーション・プロセッサなどだ。AMP構成の極端なケースといってもいい。ここまで
非対称だと、それらすべてに同じOSを載せることはしない。例えば電子メールやウェブ・ブラウザなどを
動かすアプリケーション・プロセッサの部分はパソコン化してきているので、WindowsやLinuxなどの情報
処理系OSの採用が進んでいる。しかしだからといって、特にリアルタイム性が求められるベースバンド・
プロセッサのOSにLinuxを使おうと考える人はいないだろう。実際にITRONが多く使われている。

 このように高度な組み込み機器では、1つの機器の中で、モジュールごとに複数の異種OSが稼働
するのが普通になるだろう。OSによって向いている処理と向かない処理があるからだ。そのため、異種
OSの接続性が大切になる。T-Engineフォーラムでは、さまざまなOSとT-Kernelとの接続性を高める取り
組みを進めている。

−以上です−
4名刺は切らしておりまして:2009/02/28(土) 02:30:34 ID:mFQvSlox
いいからどんなウィルスにも感染しないPCつくれよ
5名刺は切らしておりまして:2009/02/28(土) 02:33:54 ID:jntmT7hi
>>4
OSを入れなければ良いだろ
6名刺は切らしておりまして:2009/02/28(土) 02:35:03 ID:IK4Ye/tA
>>5
正解。
7名刺は切らしておりまして:2009/02/28(土) 02:37:58 ID:52DEkjuv
絶対ぜーったい、ソフト開発者が面倒をみなきゃならん羽目になる。
OS開発者ほど信用がおけないものはない。
8名刺は切らしておりまして:2009/02/28(土) 02:38:35 ID:Hrjt6iMd
(´・ω・`)インタビューがイベントビューアに見えたお
疲れてるみたいだから寝るお
9名刺は切らしておりまして:2009/02/28(土) 02:39:50 ID:1edT3d86
「マルチコアの面倒はOSが見る」

なんだかわからんが一瞬かっこいいことを言ってるのかとオモタ
10名刺は切らしておりまして:2009/02/28(土) 02:39:58 ID:S3EJVCBo
まだラウンドロビンのスケジューラー使ってるOSってWindowsか。
11名刺は切らしておりまして:2009/02/28(土) 02:51:21 ID:10MRAb90
↓ OSの面倒はおまえが見ろ
12名刺は切らしておりまして:2009/02/28(土) 02:51:24 ID:LjtgPPa4
マルチコアってケンカしないの?

コアA: これおまいの仕事だろ!
コアB: いや、いやおまいのだよ!
13名刺は切らしておりまして:2009/02/28(土) 02:52:00 ID:/tHkAuBY
大言壮語していつもオモチャレベルで終わるんだよなこの人。
それよりITRONのミドルウェア作ったらどうなの。手遅れだが
14名刺は切らしておりまして:2009/02/28(土) 02:52:49 ID:1+WL8I2X
シングルスレッドアプリが実は裏で粒度細かく処理されて
簡単に並列効果が上げられるようOSの中の人には頑張っていただきたい。
15名刺は切らしておりまして:2009/02/28(土) 02:55:55 ID:G9H6oefd
素朴な質問ですが、脳は複数のプロセッサが駆動していると考えていいのでしょうか?
16名刺は切らしておりまして:2009/02/28(土) 02:57:24 ID:AWiRfZQ0
OSが自己組織化して状況に対応出来る日はくるのだろうか。
17名刺は切らしておりまして:2009/02/28(土) 02:58:05 ID:S3EJVCBo
>>12
なるべく同じコアにプロセスを縛ってる。
頻繁にプロセスが走るコアを替えてると、
その度にデータ、プログラム、TLB等のキャッシュを
フラッシュしないといけないからペナルティが大きい。
コアごとに仕事量が偏った等どうしても避けられない時だけ
プロセスを別のコアに移してる。
18名刺は切らしておりまして:2009/02/28(土) 02:59:50 ID:S3EJVCBo
>>14
それはOSよりライブラリの仕事です。
19名刺は切らしておりまして:2009/02/28(土) 03:02:22 ID:LjtgPPa4
>>17
dd
マジレスで帰ってくるとは思ってなかった...
20名刺は切らしておりまして:2009/02/28(土) 03:04:06 ID:1+WL8I2X
>>15
まだ完全には理解できていないが以下のような認識でおk

・脳内の各神経細胞→プロセッサ内のトランジスタ
・神経細胞の機能別ネットワーク→(言語処理、計算、図形判読など)CPU、GPU、メモリなど

違いは電気が流れなくなった回路を消したり、通り道を増強したりして
自己組織化していくところ。基本コンピュータは出来合いで作られたときの
状態から変化しない。
21名刺は切らしておりまして:2009/02/28(土) 03:09:42 ID:iLhwpek4
TRONとか超漢字を実用的にしなさい。
22名刺は切らしておりまして:2009/02/28(土) 03:10:51 ID:iLhwpek4
いっそのこと、住基ネットワーク専用に超漢字を採用してほしい。
外字問題も解決して良いぞぉー
23名刺は切らしておりまして:2009/02/28(土) 03:11:22 ID:kwBaXX7Z
東大かよ・・・
24名刺は切らしておりまして:2009/02/28(土) 03:11:51 ID:rNQaE73o
>>22
むしろ字体の誤入力が増えそうなので却下で
25名刺は切らしておりまして:2009/02/28(土) 03:16:51 ID:YMnNsdo3
 >>15 そのむかしデータフロー型プロセッサというのがありまして
シャープが何の酔狂か研究していました。

>>20
トランジスタ相当はシナプスですね。 1神経細胞に1万個あります。
シナプスごとに積和演算を行います。
有効精度はひくいですが。 
神経細胞単位の重要な役目は閾値判定=固定値との比較演算です。
26名刺は切らしておりまして:2009/02/28(土) 03:20:15 ID:A5dtOzOX
>>23
「東大」なんて一括りに出来ないよ
27名刺は切らしておりまして:2009/02/28(土) 03:26:33 ID:G9H6oefd
>>20 ,25 ご教示ありがとうございます。

昔、蛋白質でつくる演算素子が研究されていたような気がしますが、
将来、遺伝子工学を駆使して人工知能を生物として発生させることができる可能性はあるのでしょうか?

「意識」を持たない形で。
28名刺は切らしておりまして:2009/02/28(土) 03:34:05 ID:jntmT7hi
>>25
ノイマンドリブンプロセッサーだったね
29国民の真の敵は役人:2009/02/28(土) 03:57:57 ID:b3cBgEgb
従来の逐次処理言語じゃ無理だと思うんだが・・・。
並列処理言語が早く完成して欲しい。
30名刺は切らしておりまして:2009/02/28(土) 04:01:21 ID:yBoaV0Ix
>>27
「意識」って何かを定義しないと答えられない
31名刺は切らしておりまして:2009/02/28(土) 04:03:28 ID:jntmT7hi
非ノイマン型データドリブンプロセッサーだった

現場で現物見た事がある おれは ナンだろう
32名刺は切らしておりまして:2009/02/28(土) 04:04:25 ID:jntmT7hi
あはり 自民党が日本から消えるしか無いだろう
33名刺は切らしておりまして:2009/02/28(土) 04:43:21 ID:qkADBKus
>>32
よう変態記者、スレ間違えてるぞ
34名刺は切らしておりまして:2009/02/28(土) 04:53:23 ID:jntmT7hi
>>33
誤爆した
35名刺は切らしておりまして:2009/02/28(土) 04:58:20 ID:JIv+SIRa
Atomみたいな組み込み向けのがPCに逆流してるぐらいなのに、
組み込みでマルチコアって本格化するんかな。
36名刺は切らしておりまして:2009/02/28(土) 05:59:51 ID:Um+MAgpU
エコですか。皺寄せはコンパイラかのぅ。
37名刺は切らしておりまして:2009/02/28(土) 06:13:43 ID:L0AeEvMo
いずれどっかの天才が仕組みを考え出したら安く作れるって見本だな
38名刺は切らしておりまして:2009/02/28(土) 06:34:31 ID:9EvxL8Su
おれも疲れているのかな?
なぜかサブプライムローンと重なって記事が読める
39名刺は切らしておりまして:2009/02/28(土) 10:14:51 ID:6kW+NiOZ
早くウインドウズのアプリが動く無料のトロンOS作ってよ。
  
40名刺は切らしておりまして:2009/02/28(土) 10:35:56 ID:4DxA2+64
はやく、TRONをオープンソースのロイヤリティフリーにしろよ。

IBMやMSの独占に対抗するオープンアーキテクチャとか言って、
結局、メーカーとトロン教会の囲い込みじゃん。
41名刺は切らしておりまして:2009/02/28(土) 10:37:19 ID:zSN69XuG
>>35

うーん,Atomは組み込み向けなんて言えないよ。
42名刺は切らしておりまして:2009/02/28(土) 10:42:47 ID:zSN69XuG
>>40

TOPPERSを知らないの? と意地悪く言ってみました。
43名刺は切らしておりまして:2009/02/28(土) 10:50:21 ID:H0b2Ogtv
そこまで高度な処理要求する組み込み用途って何よ?
画像処理?
44名刺は切らしておりまして:2009/02/28(土) 11:04:09 ID:pp+07iVG
画像処理が高度とはこれいかに。
45名刺は切らしておりまして:2009/02/28(土) 11:12:32 ID:NPh6D8+f
この前やったのマルチコアだったけどOSも2つあったわ
46名刺は切らしておりまして:2009/02/28(土) 12:36:31 ID:vRhZ+dYx
>>12
コアA: 俺の理論の方が正しいだろ!
コアB: アホ、ハッケーン!そこまで言うのならソースだせよ。
コアC: 実況からきますた。
コアA:コアB: 帰れよ!
47名刺は切らしておりまして:2009/02/28(土) 12:43:07 ID:qYUcgaEA
やろうとしてることは、もう10年以上前にAdaがやってることじゃんw

なんでわざわざニュースになるわけ?
48名刺は切らしておりまして:2009/02/28(土) 13:06:08 ID:O02cpNCt
もう、純粋なOSとしてのトロンは終わりかな。
JISやISOと同じ単なる規格。OSは選ばず、認定を与えるだけの存在になっちまったな。
途中から半分そうだったが、昔は規格に対応したOSが無かったので作ってただけだし。
49名刺は切らしておりまして:2009/02/28(土) 13:10:14 ID:qYUcgaEA
結局、toronを殺したのは坂村だった、って話か、、、
50名刺は切らしておりまして:2009/02/28(土) 13:15:36 ID:95X6h4fa
組込みでマルチコアってあまり用途がないなぁ。
携帯やゲーム機?
普通にマイコン2つにOS2つで連携とるようなのしか見たことない。
51名刺は切らしておりまして:2009/02/28(土) 13:56:04 ID:UMzzLr2+
坂村がオランダに生まれてたら、Linusに絡んで論争になって
結局世間はLinusを選び、失意のあまり引きこもってくれてのに〜
52名刺は切らしておりまして:2009/02/28(土) 15:04:58 ID:OxL5cEj0
しかしシングルスレッド・シングルコア向けのプログラムしか書けないようなプログラマがほとんど

>>35
組み込みこそずっと昔からマルチコア
デジタル家電向けのチップなんてまさにそう
53名刺は切らしておりまして:2009/02/28(土) 17:13:19 ID:zSN69XuG
>>48

只坂村先生がやりたかったのはMTRONであって,IとかBとかは手段に過ぎんと思うよ。
20年前から見ていると,坂村先生のやりたかったことにやっと手が
届きそうになったように思える。
54名刺は切らしておりまして:2009/02/28(土) 17:15:11 ID:ygaUoSlP
そう云えばTRONはどうしたんだよwwwwww
最近、みかけなくなった罠w
っていうかみんなLinuxに吸い寄せられていったからなw
55名刺は切らしておりまして:2009/02/28(土) 19:53:52 ID:7qLRqhX6
>>53
坂村先生はあまりにも早すぎた天才。
56名刺は切らしておりまして:2009/02/28(土) 20:23:25 ID:lT9Ovns1
>>12
コアA: こんなの俺やりたくないよ
コアB: じゃあ俺がこの処理やるよ!
コアC: いやこれは俺の仕事だ俺がやる!
コアA: え・・じゃあ俺もやろうかな
コアB:コアC:どうぞどうぞ
57名刺は切らしておりまして:2009/02/28(土) 20:31:55 ID:ca9hAR++
マルチコアがロシア女性の名前かと思った。

相当疲れてる...
58名刺は切らしておりまして:2009/02/28(土) 20:33:42 ID:rNQaE73o
不覚にもw
59名刺は切らしておりまして:2009/02/28(土) 23:12:13 ID:JIv+SIRa
>>52
>組み込みこそずっと昔からマルチコア

ってのは、>>1

>EETJ: マルチコア・プロセッサを採用する際の課題は何か。
>坂村氏: リソースをコア間でどのように共有するかなど、ソフトウエアを大きく書き変えないといけなくなる。

は、間違ってるって主張?
60名刺は切らしておりまして:2009/02/28(土) 23:17:54 ID:OB4oi781
機能別のヘテロジニアスマルチコアと坂村先生がここで言及してる
マルチコアは違うもの、かも
61名刺は切らしておりまして:2009/03/01(日) 08:59:11 ID:1ZPloP9/
>>57
62名刺は切らしておりまして:2009/03/01(日) 09:11:10 ID:dbkHqdYI
組み込みCPUのマルチコア化はARM系で既に出始めてるのでその方向で進むだろうとは思うのだが、
ITRON(T-Kernel)はそこで生き残る事ができるのか疑問。
相当ニッチな領域のみでしか生き残れないのではないか?
63名刺は切らしておりまして:2009/03/01(日) 11:42:26 ID:e9Y2Poy6
tes
64名刺は切らしておりまして:2009/03/01(日) 11:47:18 ID:e9Y2Poy6
PS3もそうだけど、結局はどれだけマルチコアを考えないですむ
開発環境ができるかどうかにかかってるとオモ
65名刺は切らしておりまして:2009/03/01(日) 13:27:19 ID:kCPwhpD+
人間の脳は平凡で平均的な脳が一番完成された脳である、
天才の脳は例えるなら奇形児である。
66名刺は切らしておりまして:2009/03/01(日) 21:16:36 ID:kdqNJpEU
マルチコアに対して、自動的、効率的にスレッドを割り当てるような
手法をぱくるか、考案すればいいだけでしょう。

ただ、同時に何スレッド実行できるか?を想定して組込みプログラムを書くはずだから、
そういう部分をターゲット毎にユーザーが調整するのか、OSやライブラリなどにより
自動で出来る仕組みを作るのか?

T-Kernel T-Engine の仕様ではその辺上手く行くようになってるんだろうか?
67名刺は切らしておりまして:2009/03/01(日) 21:32:33 ID:ooxnNLEF
>>57
二重(20)までは良い感じだが、
それ以上は扱いに困るのでロシア女性と言えなくもない。
68名刺は切らしておりまして:2009/03/01(日) 21:34:36 ID:4HiImTx5
ヤー・チャイカ
69名刺は切らしておりまして
>>59
それは今までシングルスレッドで書いてたコードをマルチスレッド・マルチコア向けにした場合の話。
別に間違ってはいないよ。 シングルスレッドのコードをマルチスレッドにするのは
今まで組み込み向けのソフト屋さんが何度も通ってきた道で、
これまでもこれからも機能や処理量を上手く分割する方法を模索する仕事が続くだろうね。