35
排他動作する⾮均質マルチコア プロセッサとそのリアルタイムOSの実装 ⾼瀬 英希 李 景洙 ⽯原 亨 (京都⼤学) 1

ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

排他動作する⾮均質マルチコアプロセッサとそのリアルタイムOSの実装

⾼瀬 英希 李 景洙 ⽯原 亨(京都⼤学)

1

Page 2: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

Agenda• はじめに• 諸準備

− 動的電圧・周波数制御− 排他動作する⾮均質マルチコアプロセッサ

• マルチパフォーマンスプロセッサの設計• 電⼒管理機能を持つリアルタイムOSの実装• 実チップによる実機評価• おわりに

2

Page 3: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

Agenda• はじめに• 諸準備

− 動的電圧・周波数制御− 排他動作する⾮均質マルチコアプロセッサ

• マルチパフォーマンスプロセッサの設計• 電⼒管理機能を持つリアルタイムOSの実装• 実チップによる実機評価• おわりに

3

Page 4: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

研究背景• 組込みシステムにおける消費エネルギー最適化の必要性

− IT器機の総消費電⼒量の爆発的増加への対応

4出典:経済産業省 グリーンIT推進協議会

Page 5: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

消費エネルギー最適化のアプローチ

5

動的電圧・周波数制御 ⾮均質マルチコアプロセッサ

• 電源電圧と動作周波数を動的に変更する− 汎⽤PC向けでは普及

• 設計コストや切替のオーバヘッドが⼤きい

• リアルタイム性の保証が困難

• ⾼性能コアと省電⼒コアを排他的に動作させる− ここ1〜2年の提案技術

• ⾼いエネルギー効率を達成

組込みリアルタイムシステムには不向き

効率的な制御⼿法は確⽴されていない

Page 6: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

研究⽬的・内容• 研究⽬的

− 排他動作する⾮均質マルチコアプロセッサの実チップへの設計− 組込みリアルタイムシステム向けの効率的な制御⼿法の確⽴

• 研究内容− マルチパフォーマンスプロセッサの設計動作CPUコアと命令キャッシュのウェイ数を切替可能商⽤65nm CMOSプロセスによりチップ試作

− ⾮均質マルチコアプロセッサ向けの電⼒管理機能の実装リアルタイムOSの機能拡張により実現

− 実チップによる有効性の評価

6

Page 7: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

Agenda• はじめに• 諸準備

− 動的電圧・周波数制御− 排他動作する⾮均質マルチコアプロセッサ

• マルチパフォーマンスプロセッサの設計• 電⼒管理機能を持つリアルタイムOSの実装• 実チップによる実機評価• おわりに

7

Page 8: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

• DVFS: Dynamic Voltage and Frequency Scaling• ⻑所:電圧の2乗に⽐例したエネルギー削減効果• 短所:

− DC-DCコンバータのオーバーヘッドが⼤きい− 広範囲の電圧条件でのテストが必要でタイミング保証が困難− 低電圧動作時のエネルギー効率が低い

動的電圧・周波数制御

8出典:[7]

||221 DDDD

MAXTRAN VV

ICt

||)1( 22

21 DDDDTRAN VVCE

C=100μF、IMAX=1A VDD1=1.0、VDD2=0.68 tTRAN=64μs, ETRAN =4.6μJ

典型的には0.9程度

[7] Burd, T. and Brodersen, R. W., ISLPED, 2000.

Page 9: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

商⽤のDVFSプロセッサ

9

Processor 電源電圧(V) 電圧切替時間Transmeta Crusoe 1.1V – 1.65V 300μs

AMD Mobile K6 0.9V – 2.0V 200μs

Intel PXA250 0.85V – 1.3V 500μs

Compaq Itsy 1.1V – 1.6V 189μs

TI TMS320C55x 1.1V – 1.6V 3.2ms (1.6V → 1.1V)300μs (1.1V → 1.6V)

UCB[7] 1.2V – 3.8V 520μs

⾮常に⼤きな電圧切替時間がリアルタイム制御を困難に[6]

[6] Shin, D. and Kim, J., IEEE Trans. on CAD, 2005.[7] Burd, T. and Brodersen, R. W., ISLPED, 2000.

Page 10: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

DVFSプロセッサの課題• 動作電圧に依存してクリティカルパスが変わる

− 1.2Vで最適化した回路は0.7Vでは最適とは限らない

10

05101520253035404550

1.2 1.0 0.8 0.6

nor4Inverter

動作電圧

Norm

aliz

ed P

ropa

gatio

n De

lay

0.68Vでキャラクタライズしたライブラリで合成

0.52Vでキャラクタライズしたライブラリで合成

1.0Vで設計した回路のパス遅延特性

30%

34%

Page 11: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

⾮均質マルチコアプロセッサ• 命令セットの同じ⾼性能コアと省電⼒コアを状況に応じて排他的に動作させる− ピーク時の性能を保証しつつ平均消費電⼒を削減− 各CPUコアの設計を⽬標性能に合わせて最適化可能

• 実製品における例− NVIDIA社 Variable SMP− KnightShift− ARM社 big.LITTLE Samsung社 Exynos 5 Octa

11

Page 12: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

⾮均質マルチコアプロセッサ• NVIDIA社 Variable SMP[2] • KnightShift[5]

12[2] NVIDIA Corp., White Paper, 2012.[5] Wong, D. and Annavaram, M., MICRO-45, 2012.

Page 13: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

⾮均質マルチコアプロセッサ• ARM社 big.LITTLE[3]

• Samsung社 Exynos 5 Octa[4]

− ODROID-XU− Arndale Octa Board

13[3] Jeff, B., White Paper, 2012.[4] Shin, Y. et al., ISSCC, 2013.

Page 14: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

• アーキテクチャ上の問題点− 両コア間のタスクマイグレーションはオーバヘッド⼤− L1キャッシュまたはローカルメモリはコアごとに搭載キャッシュのミスヒットにより性能が悪化する可能性がある

⾮均質マルチコアプロセッサ

14

CPU-core1cache SPM

CPU core 1 CPU core 2

タスク移動

エネルギーと遅延のオーバ

ヘッド⾼性能・⾼電⼒ 低性能・低電⼒

CPU-core2cache SPM

task1 task2 task3

Page 15: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

Agenda• はじめに• 諸準備

− 動的電圧・周波数制御− 排他動作する⾮均質マルチコアプロセッサ

• マルチパフォーマンスプロセッサの設計• 電⼒管理機能を持つリアルタイムOSの実装• 実チップによる実機評価• おわりに

15

Page 16: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

マルチパフォーマンスプロセッサ[1]

• MPP: Multi-Performance Processor• 命令セットアーキテクチャが同じ複数のCPUコアを搭載

− 同時には1つのCPUコアのみを稼働• 各CPUコアを特定の電源電圧に最適化• キャッシュサイズを動的に変更可能(1-way〜4-way)• ⾯積オーバーヘッドは⼤きい

16[1] Oyama, Y. et al., COOL Chips X, 2007.

L1-cache

CPU core

CPU core

L2 cache

Processor cores L1キャッシュはCPUコア間で共有

1.2V

0.7V

Page 17: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

MPPの設計• 東芝のMePに基づき商⽤の65nmプロセスで設計• 1.2V条件と0.7V条件でライブラリをキャラクタライズ• 上記ライブラリで各コアを200MHzと100MHzに最適化

17

GBIDMAC

Glob

al B

us

8KB

4KB

D-SPM

I-SPM

I-cache4-way

50MHz

Tag2KB2KB2KB2KB

4KB

200MHzCPUcore

8KB

0.7V

(bas

ed o

n AH

B) 1.2V

1.2V

PLL

100MHzCPUcoreGBI

DMAC

Level Shifter

1.2V レイアウト図

Page 18: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

MPPの消費電⼒

18

# cacheways

200MHzモード 100MHzモード

DCT実⾏時の消費電⼒Po

wer

Con

sum

ptio

n [m

W]

4-way 1-way4-way 1-way

Page 19: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

電圧切替オーバーヘッド

19

• 32本の専⽤レジスタの値は専⽤バス経由で転送− 遅延は1サイクルのみ

• 28本のレジスタの値はスタック経由で転送− 汎⽤レジスタ15本− 制御バスレジスタ13本(タイマ,割込み関連)

• その他のレジスタはコア切替後にフラッシュ

100MHz0.7V

CPU core

200MHz1.2V

CPU core

Dedi

cate

d Bu

s

切替時間 約1.5μsSt

ack

(scra

tchpa

d me

mory) 切替エネルギー 約10nJ

Leve

lsh

ifter

Leve

lsh

ifter

MPP

極⼩オーバヘッドで切替細粒度のタスク内切替に適⽤可能

Page 20: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

Agenda• はじめに• 諸準備

− 動的電圧・周波数制御− 排他動作する⾮均質マルチコアプロセッサ

• マルチパフォーマンスプロセッサの設計• 電⼒管理機能を持つリアルタイムOSの実装• 実チップによる実機評価• おわりに

20

Page 21: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

既存の制御⼿法• OSまたはそれより下位のドライバによる電⼒管理

− 負荷分散型のタスクスケジューリング⽅式:割付プロセッサを切替え− プロセッサの負荷変動に応じてCPUコアも切替えあるタスクがどのCPUコアで実⾏されているかは不定

21

Pro: アプリケーションの設計負荷が⼩さくなるCon: 実⾏時間の解析が困難になる

core11

task1 task2 task3

⾼性能・⾼電⼒ 低性能・低電⼒

core12

core13

core21

core22

core23

OS/driver

core23

core11

core13

core21

task2

Page 22: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

要件と実装⽅針• 組込みリアルタイムシステムに適したMPPの電⼒管理⽅法

− 機能分散型のシステムに対応できること− リアルタイム性の確保が容易であることタスクの実⾏時間の解析がしやすいこと CPU切替・マイグレーションに伴う性能の悪化を抑⽌できる

22

タスクと動作構成の情報の対応付け実⾏されるタスクに応じて

プロセッサの動作構成を切り替える設計者がタスクと動作構成の

対応を明⽰的に指定する

Page 23: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

実装⽅針• MPPにおけるプロセッサの動作構成

− 稼働させるCPUコア:High-speed CPU / Low-power CPU− 命令キャッシュの容量(稼働させるウェイ):way-1,2,3,4データSPMの特定アドレス上で現在の動作構成値を管理

• TOPPERS新世代カーネルの機能拡張による実装− タスク管理情報の拡張− 電⼒管理APIの提供

23

リアルタイム性の向上

Page 24: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

タスク管理情報の拡張• タスク管理ブロック(TCB)の拡張

− config− p_tinib->iconfig型はCFG(符号付き整数)

• CRE_TSKの仕様変更

• ディスパッチャの機能変更− タスクのディスパッチ直前に対象タスクの p_tcb->config を参照− 現在の設定値と異なっていれば,プロセッサの動作構成を切替え

24

・・・・

TCB*p_tinib

config・・・・

TINIB

iconfig

CRE_TSK(ID tskid, { ATR tskatr, intptr_t exinf, TASK task, PRI itskpri, SIZE stksz, STK_T *stk, CFG iconfg })

Page 25: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

電⼒管理API

25

※set_cor(), set_ica()も実装

set_cfg タスクの動作構成の変更

【C 言語API】ER ercd = set_cfg(ID tskid, CFG config)

【パラメータ】

ID tskid 対象タスクのID番号

CFG config プロセッサの設定値

【リターンパラメータ】

ER ercd 正常終了(E_OK)またはエラーコード

【エラーコード】

E_CTX CPUロック状態からの呼出し

E_ID 不正ID番号(tskid が不正)

E_PAR パラメータエラー(config が不正)

Page 26: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

電⼒管理API

26

get_cfg タスクの動作構成の参照

【C 言語API】ER ercd = get_cfg(ID tskid, CFG *p_tskconfig)

【パラメータ】

ID tskid 対象タスクのID番号

CFG *p_tskconfig 動作構成の設定値を入れる

メモリ領域へのポインタ

【リターンパラメータ】

ER ercd 正常終了(E_OK)またはエラーコード

【エラーコード】

E_CTX CPUロック状態からの呼出し

E_ID 不正ID番号(tskid が不正)

Page 27: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

Agenda• はじめに• 諸準備

− 動的電圧・周波数制御− 排他動作する⾮均質マルチコアプロセッサ

• マルチパフォーマンスプロセッサの設計• 電⼒管理機能を持つリアルタイムOSの実装• 実チップによる実機評価• おわりに

27

Page 28: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

評価環境• 評価⽅法

− 実⾏時間:MPP全体のRTLシミュレーション− 消費電⼒:アジレント社U2722Aにより消費電流・電圧を採取サンプリングレート 60Hz

− 電⼒管理機能の実装対象:TOPPERS/ASPカーネル(Release 1.4.0)

• 評価指標− MPPのプロセッサ構成の切替に掛かるオーバヘッド− リアルタイムOSの電⼒管理に掛かるオーバヘッド− アプリケーションの平均消費電⼒

28

Page 29: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

MPP切替のオーバヘッド• CPUコアの切替

− High-speed CPU → Low-power CPU:1.65μs− Low-power CPU → High-speed CPU:1.48μsレジスタの保存と復帰も含む big.LITTLEアーキテクチャでは最⼩でも20μs

• キャッシュウェイの切替− High-speed CPU時:25ns− Low-power CPU時:50ns 5クロックサイクル分

29

⾮常に⼩さいオーバヘッドで動作構成を切替可能

CPUコアの切替に起因したキャッシュのミスヒットは

発⽣しない

Page 30: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

リアルタイムOSのオーバヘッド• TOPPERS sample1でメモリ量を測定

− タスク数5(MAINTASK, TASK1,2,3, LOGTASK)− サービスコールの基本的な動作を確認するプログラム

30

管理機能 text data bss Total

無し 23,736 7,204 12,368 43,308

有り 29,640 3,128 12,368 45,1364.5%

⼩メモリ量で実装可能→ 組込みシステムに適している

Page 31: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

アプリケーションの平均消費電⼒• 評価アプリケーション

− それぞれに異なる周期で実⾏されるDCTタスク×3− レイトモノトニック・スケジューリング⽅式

• 電⼒管理⽅針− Nonmanage: 動作構成を設定しない− Static: 動作構成を静的に設定する− Dynamic: 動作構成を動的に設定する実⾏可能状態にあるタスク数

31

Our MPP chip

Task3 switches correctly

Task1 switches correctly

LEDs show the correctVDD and fclk transitionand cache resizing

Page 32: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

アプリケーションの平均消費電⼒

32

Nonmanage Static Dynamic

Page 33: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

アプリケーションの平均消費電⼒• 評価結果 [mW]

33

Policy 0.7V CPU 1.2V CPU 3.3V I/O Total

Nonmanage 0.38 11.80 8.26 20.45

Static 0.58 9.50 5.80 15.88

Dynamic 0.73 7.47 2.66 10.87 31.6%

23.3%

リアルタイムOSによる電⼒管理機能の有効性を⽴証

set_cfgを利⽤

Page 34: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

Agenda• はじめに• 諸準備

− 動的電圧・周波数制御− 排他動作する⾮均質マルチコアプロセッサ

• マルチパフォーマンスプロセッサの設計• 電⼒管理機能を持つリアルタイムOSの実装• 実チップによる実機評価• おわりに

34

Page 35: ETNET2014 Takase.ppt [互換モード]排他動作する 均質マルチコア プロセッサとそのリアルタイムOSの実装 瀬英希 李景洙 原亨 (京都 学) 1 Agenda

おわりに• まとめ

− マルチパフォーマンスプロセッサの設計・実チップ試作⾮均質なCPUコアを排他的かつ動的に切り替えて

⾼いエネルギー効率を実現プロセッサ構成を低オーバヘッドで切替可能

− 電⼒管理機能を持つリアルタイムOSの実装タスクと動作構成の情報の対応付け TOPPERS新世代カーネルの機能拡張により実装実チップ上で電⼒管理機能の有効性を⽴証

• 今後の⽅針− 電⼒管理機能を活⽤した消費エネルギー最適化⼿法− マルチプロセッサへの対応

35