osc 2012 hokkaido でのプレゼン資料

30
Kinect から OpenCL まで イマドキの組み込みシステムに ついて語ろう 株式会社サムシングプレシャス 古賀信哉

Upload: shin-ya-koga

Post on 24-Jun-2015

1.797 views

Category:

Documents


3 download

DESCRIPTION

2012/06/17 に開催された、OSC 2012 Hokkaido での、セミナーのプレゼン資料。

TRANSCRIPT

Page 1: OSC 2012 Hokkaido でのプレゼン資料

Kinect から OpenCL まで

イマドキの組み込みシステムについて語ろう

株式会社サムシングプレシャス

古賀信哉

Page 2: OSC 2012 Hokkaido でのプレゼン資料

札幌市在住

(株)サムシングプレシャス代表取締役

組み込み機器分野に軸足を置いたソフト屋

Microsoft MVP: Windows Embedded http://mvp.microsoft.com/profiles/A3D3BFEA-8A25-4960-9870-

1FBE11FDCA28

使ってきたプログラミング言語

UtiLisp, Scheme, C++, C, Objective-C

Java, ARM アセンブラ, C#, etc.

Page 3: OSC 2012 Hokkaido でのプレゼン資料

ET ロボコン北海道地区大会実行委員会

モデル駆動開発(UML 設計記述と実機動作)

役割:審査委員長&技術委員長(2011, 2012)

Device2Cloud コンテスト審査委員会 http://www.d2c-con.com/

センサー + CPU ボード + クラウドサービス

役割:技術委員(長)

どちらも、組み込みシステムに関する

コンテスト

Page 4: OSC 2012 Hokkaido でのプレゼン資料

Arduino から Armadillo-800 EVA まで

Armadillo-800 EVA Arduino Uno

NXTway-ET

(ET ロボコン)

Page 5: OSC 2012 Hokkaido でのプレゼン資料

Arduino: AVR 8bit MCU (16MHz)

• SRAM: 1~8KB, Flash: 8~128KB (Uno has 2nd AVR 8bit for USBSer)

ET ロボコン: ARM7TDMI 32bit MCU (48MHz)

• with AVR 8bit MCU (8MHz)

• RAM: 64KB, Flash: 256KB

Armadillo-800 EVA: ARM Cortex-A9 (800MHz)

• with SH4A (600MHz), PowerVR SGX540 (within the package/die)

• RAM: 512MB, Flash: 8GB (eMMC)

Page 6: OSC 2012 Hokkaido でのプレゼン資料

プロセッサ (CPU) のクロックやメモリ容量では、決まらない。

Page 7: OSC 2012 Hokkaido でのプレゼン資料

ちなみに・・・

僕の入社時の「配給」マシン:

SPARC station SLC

Fjitsu MB86901A/sun4c 20MHz

RAM: 8MB/16MB

diskless

Page 8: OSC 2012 Hokkaido でのプレゼン資料

単機能

「汎用」プラットフォームではない

PC, スマートフォン, タブレット

メンテナンスのコストが高い

アップデートの工夫が必要

ex. Mars path finder

大量製造

コストダウンの圧力が高い

Page 9: OSC 2012 Hokkaido でのプレゼン資料

POS 端末

据置型、携帯型

ハンディターミナル

宅配便、検針機

アーケードゲーム

キオスク端末

x86 + Windows Embedded XP/Standard

Page 10: OSC 2012 Hokkaido でのプレゼン資料

工場のライン制御(eg. 計測機)

品川駅の自動販売機

ネットワークカメラ

Page 11: OSC 2012 Hokkaido でのプレゼン資料

ドライビングアシストコンソール

医療機器 (x86 + Linux, and GPU)

「映像」カルテ用の録画/再生機

遠隔地診断補助用の大量画像圧縮機

Page 12: OSC 2012 Hokkaido でのプレゼン資料

個々の要素技術は、他の分野と共通するものが多い

OS

uITRON →Linux, Windows (for embedded)

プログラミング言語

C/C++, Java/C# (たまにアセンブラ)

インターネットアクセス

デジタルTV、IoT

Page 13: OSC 2012 Hokkaido でのプレゼン資料

ET ロボコンの例

コンテストの対象:組み込みに特化しているわけではない

Bluetooth 利用モデル

クラウドコンピューティングとの相似性

リソース制約と時間制約のある端末

より豊富なリソースの「サーバ」

サーバとの間の通信の隘路

Page 14: OSC 2012 Hokkaido でのプレゼン資料

適用される局面が違う→各々の重要さが異なる。

信頼性

低消費電力

ハードウェアのパフォーマンスを、最大限に引き出す

メンテナンスのコストが高い!

大量製造:コストダウン圧力!

(運用コストを含む)

Page 15: OSC 2012 Hokkaido でのプレゼン資料

ハードウェアの特性

SoC (System On Chip) 化

様々な周辺機器コントローラが内蔵される

CPU の演算能力よりも、I/O がボトルネック

グラフィクスはプロセッサ内蔵が普通に

ノート PC やモバイル機と共通に

Page 16: OSC 2012 Hokkaido でのプレゼン資料

プロセッサのパフォーマンス向上

ARM 全盛

PC; Windows タブレットでも!

Page 17: OSC 2012 Hokkaido でのプレゼン資料

クラウド連携

Android

Siri

画像処理能力の進化

デジタルカメラ

iPod touch/iPhone

Kinect

GPU コンピューティングの台頭

Page 18: OSC 2012 Hokkaido でのプレゼン資料

Android 端末の電池もたない問題

ソフトウェアアーキテクチャの共通化/統一化の必要性

電源管理のサブシステムとドライバフレームワーク

Linaro

Windows 8 での取り組み

Page 19: OSC 2012 Hokkaido でのプレゼン資料

高度なグラフィクス

Page 20: OSC 2012 Hokkaido でのプレゼン資料

組み込み機器用プロセッサ(SoC)のグラフィクス機能が強化

Freescale i.MX3x, 5x, 6

TI OMAP3, 4

NVIDIA Tegra

組み込みプラットフォーム/OS のグラフィクス機能も強化

OpenGL ES 2.0

Flash, Silverlight for Embedded

Page 21: OSC 2012 Hokkaido でのプレゼン資料

CPU の省電力化

SoC 化

単純化(スーパースカラ/out-of-order)

CPU の並列化:周波数増大から並列度向上へ

複数の ALU(ハイパースレッディング, SIMD)

マルチコア化

CPU と GPU を同じダイに

バス消費電力を抑える

GPU の積極活用:CPU との性格の違いを活かす

Page 22: OSC 2012 Hokkaido でのプレゼン資料

NVIDIA Tesla 20 シリーズ

Tesla M2050

並列プロセッサコア:28, メモリ:3GB GDDR5

TSUBAME 2.0

2010年11月のスパコン Top500 ランキング4位

日本最速(※2011年6月に、京が1位に!)

2010年11月の Green500 で2位

IBM BlueGine/Q, 国立天文台 GRAPE-DR に次ぐ

958.35 MFLOPS/W (1192TFLOPS)

京:828.67, BlueGineQ: 1684.20

ピーク時消費電力:1MW以下(京は 9.89MW)

Page 23: OSC 2012 Hokkaido でのプレゼン資料

典型的な構造

AMD Radeon HD6970 NVIDIA GeForce GTX580

SIMD 型 ALU の列(8~16)

出典: “Heterogeneous Computing with OpenCL (2012, Morgan Kaufmann)

Page 24: OSC 2012 Hokkaido でのプレゼン資料

大量の(並列動作)ALU と、単純な制御回路

データ並列処理に、大きな威力を発揮

浮動小数点演算

プログラマブルシェーダを発展させたアーキテクチャ

出典: “Programming Massively Parallel Processors” (2010, Morgan Kaufmann)

Page 25: OSC 2012 Hokkaido でのプレゼン資料

ET ロボコンでの例

弊社の事例

ダウンロード実行:アップデートの改善

Everything over HTTP, evertything over

JavaScript!

Page 26: OSC 2012 Hokkaido でのプレゼン資料

アプリケーションの開発効率の重要性

サービス進化への追随

JSX by DeNA とか

Page 27: OSC 2012 Hokkaido でのプレゼン資料

ジェスチャー

マルチタッチのタッチパネル

NUI (Natural UI)

組込み機器の、新しい使われ方

手術中に PC を操作(Kinect)

Page 28: OSC 2012 Hokkaido でのプレゼン資料

デバイス単体ではない

クラウド上のサービスまで含めた、全体としてのアプリケーション/システム

サービスまで含めた製品づくり

大規模化するソフトウェア開発

労働集約から知識集約へ

Page 29: OSC 2012 Hokkaido でのプレゼン資料

ET ロボコン

ソフトウェアの再利用促進

知識集約のために

モデル駆動開発

大規模開発のリスク軽減

プロダクトラインへ向かって

Page 30: OSC 2012 Hokkaido でのプレゼン資料

Device2Clolud コンテスト

「新たなサービスを生みだす力を持ったデバイスを!」

組み込み開発/デバイスアプリケーション開発と、クラウド上のサービス開発を繋ぐ