Microsoft PowerPoint - invited-namiki.ppt [互換モード]

Similar documents
目的 システムLSIの電力性能比 ( 性能 / 電力 ) 向上 背景 : 通勤電車のひとコマ 一昔前 今は 社会全体が要求する情報処理能力の飛躍的増大 CREST ULP 領域公開シンポジウム ( 東京大学中村宏 ) 2012/11/30 2

PowerPoint プレゼンテーション

この方法では, 複数のアドレスが同じインデックスに対応づけられる可能性があるため, キャッシュラインのコピーと書き戻しが交互に起きる性のミスが発生する可能性がある. これを回避するために考案されたのが, 連想メモリアクセスができる形キャッシュである. この方式は, キャッシュに余裕がある限り主記憶の

2014 年電子情報通信学会総合大会ネットワークシステム B DNS ラウンドロビンと OpenFlow スイッチを用いた省電力法 Electric Power Reduc8on by DNS round- robin with OpenFlow switches 池田賢斗, 後藤滋樹

Microsoft PowerPoint - ICD2011TakadaSlides.pptx

2015 TRON Symposium セッション 組込み機器のための機能安全対応 TRON Safe Kernel TRON Safe Kernel の紹介 2015/12/10 株式会社日立超 LSIシステムズ製品ソリューション設計部トロンフォーラム TRON Safe Kernel WG 幹事

Microsoft PowerPoint - ARC2009HashiguchiSlides.pptx

スライド 1

OS

計算機アーキテクチャ

今週の進捗

Operating System 仮想記憶

Microsoft PowerPoint - OS02.pptx

Microsoft PowerPoint - ARCEMB08HayashiSlides.ppt [互換モード]

< B8CDD8AB B83685D>

Microsoft PowerPoint - sp ppt [互換モード]

Microsoft PowerPoint - No3.ppt

スライド 1

Microsoft PowerPoint - ARC-SWoPP2011OkaSlides.pptx

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

スライド 1

特集新世代マイクロプロセッサアーキテクチャ ( 後編 ) 3. 実例 3 ユビキタス コンピューティング時代の組み込みマイクロコンピュータ, SuperH と M32R 清水徹 * 1 長谷川淳 * 2 服部俊洋 * 3 近藤弘郁 * 4 ( 株 ) ルネサステクノロジシステムソリューション統括本部

Microsoft PowerPoint - 11Web.pptx

Microsoft PowerPoint - OS07.pptx

Microsoft PowerPoint - OS02.ppt

Microsoft PowerPoint - OS09.pptx

Microsoft PowerPoint - os ppt [互換モード]

Microsoft PowerPoint - No15›¼‚z‰L›¯.ppt

cmpsys15w07_os.ppt

Microsoft PowerPoint - sp ppt [互換モード]

PowerPoint Presentation

出 アーキテクチャ 誰が 出 装置を制御するのか 1

PowerPoint プレゼンテーション

Microsoft PowerPoint - OS1.ppt [互換モード]

White Paper 高速部分画像検索キット(FPGA アクセラレーション)

Microsoft PowerPoint - os ppt [互換モード]

組込み Linux の起動高速化 株式会社富士通コンピュータテクノロジーズ 亀山英司 1218ka01 Copyright 2013 FUJITSU COMPUTER TECHNOLOGIES LIMITED

Microsoft PowerPoint - OS11.pptx

PowerPoint プレゼンテーション

科学技術振興調整費 中間成果報告書 若手任期付研究員支援 組込みアーキテクチャ協調型実時間 OS 研究期間 : 平成 13 年度 ~ 平成 15 年 6 月 北陸先端科学技術大学院大学田中清史

ビッグデータやクラウドのシステム基盤向けに処理性能を強化した「BladeSymphony」および「HA8000シリーズ」の新製品を販売開始

OS

Microsoft PowerPoint - OS12.pptx

CPUスケジューリング

ビッグデータ分析を高速化する 分散処理技術を開発 日本電気株式会社

Microsoft PowerPoint - 09_2008_0619.pptx

スライド 1

V8_教育テキスト.dot

Microsoft PowerPoint - sp ppt [互換モード]

業務用コンピュータサーバーに関する

スライド 1

Microsoft PowerPoint - OS02.pptx

ハード・ソフト協調検証サービス

スライド 1

ソフトウェア基礎技術研修

ソフトウェア基礎技術研修

スライド 1

Microsoft PowerPoint - ARCICD07FukumotoSlides.pptx

Windows Server 2008 R2とPRIMERGYによる消費電力削減効果

Microsoft PowerPoint - NxLec ppt

スライド 1

スライド 1

本文ALL.indd

04-process_thread_2.ppt

【Cosminexus V9】クラウドサービスプラットフォーム Cosminexus

Microsoft PowerPoint - sp ppt [互換モード]

組込みシステムにおける UMLモデルカタログの実践研究

ComputerArchitecture.ppt

10-vm1.ppt

PowerPoint プレゼンテーション

Slide 1

PowerPoint プレゼンテーション

020105.メモリの高機能化

計算機システム概論

C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要

MMUなしプロセッサ用Linuxの共有ライブラリ機構

Microsoft PowerPoint - sales2.ppt

スライド 1

命令セットの構成例 a) 算術 演算命令 例 )ADD dest, source : dest dest + source SUB dest, source : dest dest - source AND dest, source : dest dest AND source SHR reg, c

05-scheduling.ppt

6. パイプライン制御

講義計画 1. コンピュータの歴史 1 2. コンピュータの歴史 2 3. コンピュータの歴史 3 4. 論理回路と記憶, 計算 : レジスタとALU 5. 主記憶装置とALU, レジスタの制御 6. 命令セットアーキテクチャ 7. 演習問題 8. パイプライン処理 9. メモリ階層 : キャッシュ

VXPRO R1400® ご提案資料

完成版_セミナー発表資料110928

PowerPoint プレゼンテーション

TFTP serverの実装

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

TRQerS - Introduction

Microsoft PowerPoint - No6note.ppt

(Microsoft PowerPoint - \221g\202\335\215\236\202\335\203\\\203t\203g\203E\203F\203A\215H\212w No03\201i\224z\225z\227p\201j.pptx)

Microsoft PowerPoint - NxLec ppt

情報処理学会研究報告 IPSJ SIG Technical Report Vol.2014-DPS-159 No.31 Vol.2014-MBL-71 No /5/16 仮想化環境における読込み書込み比率を考慮した動的 VM メモリ割り当て 1 坂本雅哉 1 山口実靖 近年, サーバの

新技術説明会 様式例

スライド 1

SafeG 高信頼組込みシステム向けデュアル OS モニタ Daniel Sangorrín, 本田晋也, 高田広章 名古屋大学 2010 年 12 月 3 日 この研究の一部は文部科学省のサポート受けて実施しています Daniel Sangorrín ( 名古屋大学 ) ET 横浜 2

Microsoft PowerPoint - 【最終提出版】 MATLAB_EXPO2014講演資料_ルネサス菅原.pptx

富士通セミコンダクター株式会社発表資料

hpc141_shirahata.pdf

Jan/25/2019 errata_c17m11_10 S1C17 マニュアル正誤表 項目 リセット保持時間 対象マニュアル発行 No. 項目ページ S1C17M10 テクニカルマニュアル システムリセットコントローラ (SRC) 特性 19-3 S1C17M20/M

スライド 1

Transcription:

省電力計算機アーキテクチャ と OS の資源管理 ~ 細粒度 PG アーキテクチャと OS の連携 ~ 並木美太郎 ( 東京農工大学 ) 20120119ARC&ICD 1

話者の生まれと育ち 1983 年から OS 屋 プログラミングやソフトに興味を持っていた 特に プログラムの実行基盤としての OSなどのシステムソフトウェア OS 以外にも コンパイラ インタプリタ ライブラリ ウィラリ ウィンドウシステム プロトコルスタックなどのシステムソフト UIなども 横断分野では 並列分散処理 情報教育なども ハードは好き ( はんだごて ラッピング...) 去年まで IPSJ OS 研の主査... 2

アプリリ ーションーションライブラリ OS~ 偉大なる中間管理職 ~ ケアプリケーション アプーショケリケアン( ハードウェア独立 ) ケリプ( ハドウェア独立 ) 応用プログラム層 資源管理層 プロセス管理 ファイルシステム メモリ管理 ウィンドウシステム プロトコルスタック OS 層 ハードウェア CPU 主記憶 入出力装置 20120119ARC&ICD 3

OS の使命 ハードウェアなどの仮想化 :CPU メモリ I/O 資源管理 : 最適割当て 保護 本質は概念創出 方式として汎化 これらを APIとして AP( 応用プログラム ) に提供すること 応用層の知識は必須 ハードウェアドウェア 計算機アーキテクチャを知らないとできない 自分はこの両方ができるから面白いと思った ハード ソフトって分類 関係ないよね ( 人によってはソフトで仮想化と美の極致 ) 4

中間管理職は... アプリーション ケプロセス管理 アプリケーションアアププリアプリケリケケーーシションョファイルシステム メモリ管理 ウィンドウシステム プロトコルスタック 新しい応用 ニーズ ン実行モデル 資源モデル システムコー応用プログラム層ルの仕様 意味... ライブラリ応用ソフトの安定性 継続性ある意味 保守 OS 層 的でストイック 変革 ハードウェア CPU 主記憶 入出力装置 新しいアーキテクチャハードウェア 20120119ARC&ICD 5

近年の OS 研究のトレンド 上位層から クラウド セキュリティ 分散 VMM( 仮想化 ) モバイル ユビキタス 携帯 センサ系 計算機アーキテクチャから マルチコア メニーコア HPC 組込み 省電力 20120119ARC&ICD 6

電源 ON/OFF クロック 電圧 割当て 高速小容量高消費電力 vs 低速大容量低消費電力 どう組み合わせて隠蔽するかバランスさせるか どう調停するか 20120119ARC&ICD 7

計算機の電源管理 単位 : ラック マシン全体 CPU/ メモリ /IO などの構成部品 個々の構成要素 構成要素の挙動特性 ユースケース 時間粒度 空間粒度 階層によって異なる 研究分野でも切れている 20120119ARC&ICD 8

階層ごとの特徴 : 役割分担は変わる 制御できる時間粒度空間粒度 数秒 数日 数年 100μS (10K 命令以上 ) 数 100KB ~ 数 TB 以上 ページ ( 数 KB) 単位 マクロ 効果 システム全体 マシンのみ アプリアプー ケションライブラリ プロセスファイルメモリウィンドウプロトコル管理システム管理システムスタック リ センサ ユーザの行動特性の利用 APごとの省電力アルゴリズム APごとの資源の個別最適化 コンパイラによる最適化コード ーション応用プログラム層ケ ハードウェアの制御 システム全体の挙動監視 動的な資源割当て OS 層 1クロック基本要 ~ 数 10クロック 1bit~ 数 Kbit 基本要素であり 数が多い ミクロ CPU 主記憶回路材料 入出力装置 細粒度 実制御 ハードウェア 20120119ARC&ICD 9

省電力と OS サーバ系 - DNSラウンドロビン - VMM( 仮想機械モニタ ) を使ったサーバ集約 データセンターで実用化 負荷が少ないときにマシンの電源を落とす 判断はログベース 統計的解析と予測 学習 数分から 1 時間程度の単位 20120119ARC&ICD 10

省電力と OS PC 系 :ACPI(Advanced Configuration and Power Interface) の利用 suspendの状態 - ディスプレイ HDD の自動電源断 / 再起動 - 電源制御用の 8bit μp はいつも通電 組込み センサネットワーク系 :TinyOS でも バッテリ駆動の要求から イベント駆動で間欠的なプログラム実行 20120119ARC&ICD 11

資源管理からは プロセス実行のDVFS(Dynamic Voltage and Frequency Scaling) 挙動予測から省電力になるよう CPU を DVFS 制御 マルチコア制御 低負荷時のコア電源断 DVFS 制御 これらをサーバ PC 組込みシステム リアルタイムシステムに適用した例 20120119ARC&ICD 12

メモリ管理 : 計算機の記憶階層のどこで どうどうやるか ( パネルででも ) μ アーキテクチャでは内部に隠ぺいされた大量の FF 群 高速小容量 1clock 数 10~1KB 以下 1~ 数 clock 数 KB 数 ~ 数 10clock 数 10KB~MB 数 10~clock 数 100M~GB 数 100μs~ 数 10ms 数 100G~TB レジスタ L1 キャッシュメモリ主記憶 2 次記憶 プロセスコンテキスト緩和的フラッシュ L2 プロセス間の相性 L3 従来の OS メモリ管理ファイルシステム 広域ネットワーク上のデータ 低速大容量 13

メモリ管理 低電力なキャッシュ割当て SPM(Scratch Pad Memory) の利用 必要な部分を SPM に移動して 主記憶の電源断を行う 20120119ARC&ICD 14

ファイルシステム SSD(Solid State Drive) の利用 HDD に対するアクセスの高速化 低電力化 ファイルシステム ( ログベース ) ブロックデバイスとして利用 記憶域の有効利用 書込み時間 書換え書換え上限が課題 20120119ARC&ICD 15

OS による電力制御 観測と制御 -OS はシステム全体の利用状況はわかる - 資源割当てと調停の全権 トレードオフ 時間の単位は比較的粗粒度 : 1ms( 頑張って 100μs) 記憶の割当てはページサイズ程度 ( 数 KB) 例外 or system call で起動され 実行される これ以上は パフォーマンスカウンタからの観測結果から戦略を決定 20120119ARC&ICD 16

今日は何度も出ている式 Pon i= AnCV 2 f + ni leakv P = ΣPon i 空間分割は 構成方式やアーキテクチャ OSやランタイムの分割方式 時間軸制御 : ユニットの on/off 制御 これをソフトとハードでどうするか 20120119ARC&ICD 17

新しいハードウェアと OS 細粒度 PG Geyser CPU とその OS 演算器での PG 一過的 マルチコア / メニーコアの省電力制御 4~8 コアは AMD Phenom でやってみた アクセラレータ系はいずれまた 状態 記憶系 ノーマリオフ : 状態保持 パネルで 20120119ARC&ICD 18

OSと省電力アーキテクチャの協調事例 ~ 細粒度 PG の例 ~ 20120119ARC&ICD 19

戦略的創造研究推進事業 CREST 情報システムの超低消費電力化を目指した技術革新と統合化技術 において 革新的電源制御による次世代超低電力高性能システム LSI の研究 回路 ( 芝工大宇佐美研 ) アーキテクチャ ( 東大中村研 ) アクセラレータ CPU 実装 ( 慶応大天野研 ) コンパイラ ( 東大中村研電通大近藤研 ) OS 並木研担当 回路から OS まで協調 20

細粒度 PG Geyser CPU 細粒度 PG(Power Gating) が一つのテーマ Geyser CPU:MIPS R3000 をベース ALU SHIFT MUL DIV の 4 ユニットそれぞれで 1 命令ごとにユニットを使わなければ電源を切る VDD ALU ALU Unit SHIFT MULT MULT Unit DIV ON OFF OFF OFF Sleep Controller 20120119ARC&ICD GND 21

細粒度 PG の課題 (1) (1) 適切なスリープポリシーの設定 スリープ時の電力モデル オーバヘッド (B,D) よりも削減電力 (E) が大きくなるスリープ期間 ( 損益分岐点 ) を BEP(Break Even Point) と定義 短い期間で ON/OFF 繰返すと 電力増大 PGせず アクティブの方が良い BEPを下回るスリープ (BEPミス) が頻発すると電力ロスにつながる 適切なスリープポリシー コードの利用が必要 20120119ARC&ICD 最小 1 命令サイクルでスリープ 22

細粒度 PG の課題 (2) (2) 温度による BEP の変化 リーク電力は温度によって変わる BEP も変わる 実行時に適切なスリープポリシーを選択する必要有 BEP 例 SHIFTのスリープ時間の分布 20120119ARC&ICD 23

方針 (1) ソフトとハードの役割分担 - 細粒度は回路とハードで頑張る 粗い流度と比較的長い時間 ( 1ms 程度 ) を OS から制御 - ソフトは観測結果から基本方針 / 戦略の選択制御 - ソフトウェア制御可能な機能を CPU に追加 20120119ARC&ICD 24

方針 (2) 実行時 ( 動的 ) 情報を活用 - 静的解析可能なものはコンパイラで 実行時の情報を基に OS が制御 - 実行時情報の収集機能の追加 各種パフォーマンスカウンタ キャッシュヒット / ミスなどのほかに リークモニタ ( 温度 ) PG 統計採取をハード ( ) で追加 20120119ARC&ICD 25

Geyser CPU の持つ PG 制御機能 (1) PG 実施方針 ( スリープポリシー ) (1) 動的にパワーゲーティング (2) キャッシュミス時のみスリープ (3) 常にアクティブ ( スリープしない ) スリープポリシーを演算器ごとに制御可能 ソフトウェア (OS) でスリープポリシーを制御 細粒度 PG のインタフェース ( 特権レジスタ : PGStatus) CP0 レジスタの一つとして実装 2bit 2bit 2bit 2bit ALU Shift Mult Div 00 : 動的 PG( 通常ポリシー ) 01 : キャッシュミス時のみスリープ 20120119ARC&ICD 11 : 常にアクティブ 26

Geyser CPU の持つ PG 制御機能 (2) CP0 の他に R 形式の命令形式でスリープしないものを追加 (Opを別の値でFunctは同じ ) コンパイラの研究用 MIPS では R 形式の Op で ON の命令を追加 add mult sub div add mult sub div off PG off PG 20120119ARC&ICD 27

Geyser CPU の実装とテストベッド Geyser-0 0,1,2,3 123 と三つのバージョン VDEC で実チップ化 現在 Geyser-3のテスト中 本体は主として慶應大学が実装 並木研で CP0を追加修正 テストと全体の修正 OS 実装 FPGA 上にも移植 : 独自組込みOS( 開聞 ) Linuxが稼働 実チップは I/O 主記憶を FPGA で 20120119ARC&ICD 実チップ FPGA 版で OS 開発と評価 28

ML501,ML605 Evaluation Platform, Spartan-6 FPGA Geyser Core Cache Memory デバッグ用モジュール群 Performance Counter 群 GLB(Geyser Local Bus) GLB-PLB Bus Bridge PLB(Processor Local Bus) Main Memory Controller SRAM Controller Flash Memory Controller Compact Flash Controller UART Controller GPIO Controller Interrupt Controller Timer デバイスドライバは μblaze 用を流用

FPGA 上で実行しながら実時間でデータを採取 OS で活用できる 使用後毎回 PG Shifter ベンチマーク : Blowfish 熱環境 : 56-77 [ ] リーク電力削減率 : 36.1% BEP 各ユニットの使用頻度 提案手法 BEP 30

リークモニタ パフォーマンスカウンタなど リークモニタ ( 担当 : 芝工大 ) はon chip 化 CPUから読出せる設計 PG 状況 : プロセッサ内部のPG 信号線をチップ外まで引き回して 4ユニットのON/OFF 状況を外部から計測可能 FPGA でカウンタ:nクロックのスリープが m 回 の頻度情報 (m=c(n)) を作成 OS から読み出す設計 これら以外も大幅に RTL を修正 OS 屋がアーキテクチャを直接変更できるメリット ( ただし 実チップの配置配線は餅は餅屋 ) 20120119ARC&ICD 31

細粒度 PG プロセッサ向けの OS 研究 BEPミス率を減らすスケジューラ ( 開聞,Linux) 温度に適応するスケジューラ ( 開聞,Linux*) 温度に適応する最適化コードを選択するOSメモリ管理 ( 開聞,Linux*) 細粒度 PG の効果保証を OS で リアルタイム OS と PG 制御 ( 開聞 *) (* は近日中に発表予定 ) 20120119ARC&ICD 32

BEP ミス率を減らす OS スケジュ ーラ 20120119ARC&ICD 33

BEPミス率を勘案した OS スケジ ューラ 電力的に不利となるパワーゲーティングがどれくらいあるかの指標 パワーゲーティングによりスリープした全サイクル数のうち BEP を越えないサイクル数の割合 BEPミス率が大 電力的に不利となる細かい ON/OFF が多い BEP ミス率 = BEPサイクル iサイクルスリープした回数 i i = 1 i i サイクルスリープした回数 i 20120119ARC&ICD 34

プロセスごとのパワーゲーティン グ制御 プロセスは処理内容によって使用する命令などの特徴に偏りがある ユニットの使用頻度はプロセスによって変化する プロセスごとにパワーゲーティングを制御 プロセスごとにそれぞれスリープポリシを持たせる プロセスのコンテキストスイッチにより切り替え パワーゲーティング制御アルゴリズム スリープポリシ スリープポリシ スリープポリシ プロセス プロセス プロセス 35

PG 制御アルゴリズム パワーゲーティング制御アルゴリズム スリープのパフォーマンスカウンタから BEP ミス率を取得 BEPミス率と閾値を比較して スリープポリシを決定 BEPミス率が閾値を上回る 電力的に不利なパワーゲーティングが多い パワーゲーティング動作を粗粒度にするようOSで制御 BEPミス率が閾値を下回る パワーゲーティング動作を細粒度にするようOSで制御 ハードが キャッシュ PGせず 自律的に ミス時のみ 常にアク PG PG ティブ 20120119ARC&ICD 36

評価 : スリープ時平均リーク電力 スリープ時平均リーク電力を評価 ベンチマークをシングルタスクで実行 制御なし時に比べ3.0~23.2% 削減 とくに行列計算の電力削減効果が大 [μw] パワーゲーティング制御なしパワーゲーティング制御あり 350 600 180 180 400 200 450 300 250 200 150 100 50 500 400 300 200 100 160 140 120 100 80 60 40 20 160 140 120 100 80 60 40 20 350 300 250 200 150 100 50 250 200 150 100 50 180 160 140 120 100 80 60 40 20 400 350 300 250 200 150 100 50 0 0 0 0 0 0 0 0 25 100 25 100 25 100 25 100 25 100 25 100 25 100 25 100 クイックソート行列計算 Dhrystone ダイクストラ20120119ARC&ICD Blowfish ビットカウント FFT Whetstone 37

温度変化に適応する OS スケジュ ーラ 20120119ARC&ICD 38

本研究の目標 温度に適応するスリープポリシー制御方式の実現 各演算ユニットの BEP が温度により変化する点に着目 温度に適応するスリープポリシーを選択 細粒度 PG の効果を高める 温度が変化する条件を仮定した電力削減効果を評価 温度の変化をエミュレーション スリープポリシー制御手法の妥当性を実証 20120119ARC&ICD 39

スリープポリシー決定アルゴリズム 温度に適応するスリープポリシーの決定 BEPの温度変化を考慮し θ1 PG の時間粒度を決定 BEP 頻度 ロス大 n1 温度が低いときの BEPミス サイクル数 n1 頻度 温度が高いときの BEPミス n2 θ2 ロス小 θ1 θ2 温度 温度閾値 θthを設定して 動的 PG と キャッシュミス時のみスリープ を切り替え スリープポリシーの制御モジュール n2 サイクル数 閾値温度設定部 : スリープ頻度情報から閾値温度 θthを決定 スリープポリシー制御部 : 温度に適応するスリープポリシーをコアに設定 20120119ARC&ICD 40

閾値決定方法 温度閾値 θthを決めるためのサイクル数 nthの設定方法 ( メリットとデメリット ) ( 方法 1) アドミッションテストにより事前に得た情報を用いる方法 スリープ頻度の計測モジュールが必要ない スリープ頻度特性の判定が不要 スリープ頻度特性がタスクにより変わるため効果が得にくい ( 方法 2) 実行時の情報を用いる動的方法 スリープ頻度の計測モジュールが必要 スリープ頻度特性の判定が必要 タスクの性質により動的に閾値を設定可能 スリープ頻度から閾値温度を決定 スリープ頻度分布の中央値に BEP が一致する温度 ただし実行時にスリープ率の高いユニットは温度による制御をせず 動的 PG ポリシー固定 ( 適用可否判定 ) tsleepall: 全スリープサイクル数 mn: n サイクルスリープの頻度 20120119ARC&ICD 41

評価基盤への実装 (1) アドミッションテスト方式によるスリープ頻度制御機構の実装 あらかじめ決めた閾値温度を保持 タイマ割込みで起動 温度に適応したスリープポリシーをユニットごとに選択しGeyserコアのPGStatusレジスタに書き込み オーバヘッド 0.25% Geyser OS 例外処理部 プロファイルデータからの閾値情報 θ θth 各ユニットの閾値温度 θth スリープポリシー制御機構 sleep_policy_control タイマ割込みタイマ割込み Syscall 例外 スリープポリシー設定部 set_sleep_policy タスクスケジューラ get_temperature 20120119ARC&ICD Geyser システムコール部 コア温度エミュレーション部 42

評価基盤への実装 (2) 実行時情報を用いる方式によるスリープポリシー制御機構の実装 タイマ割込みでスリープポリシー制御機構を起動 スリープ頻度から閾値温度を設定 閾値温度と, 適用可否判定のフラグを保持 Geyser OS 例外処理部 タイマ割込みタイマ割込み Syscall 例外 sleep_policy_control スリープ頻度 m 実行時のスリープ頻度情報 スリープサイクル数 n 各ユニットの閾値温度 θth 温度閾値によるスリープポリシー制御の実施可否 flag 変更 閾値温度設定部 スリープポリシー設定部 タスクスケジューラ get_temperature システムコール部 コア温度エミュレーション部 スリープ頻度計測モジュール スリープポリシー制御機構 set_sleep_policy 20120119ARC&ICD Geyser 43

評価結果 ( 平均リーク電力 ) (1) アドミッションテスト方式 最小 -2.5% (Whetstone), 最大 38% (Matrix) 平均リーク電力を削減 演算ユニット全体でリーク電力を平均約 12% 削減 (2) 動的決定方式 最小 4.0% (Blowfish), 最大 16% (Dijkstra) 平均リーク電力を削減 演算ユニット全体でリーク電力を平均約 9% 削減 20120119ARC&ICD 44

温度に適応する最適化コードを選択する OS メモリ管理 20120119ARC&ICD 45

研究目標 コア温度変化の影響の隠蔽 コア温度変化に伴う BEP の変動への対処 コンパイラと OS との協調動作 静的解析と動的制御を組み合わせた PG 制御 実行時コア温度変化に基づくオブジェクトコード管理 実行時コア温度変化に基づいて OS がオブジェクトコードを切り替え実行 パワーゲーティングによる消費電力低減効果の向上 20120119ARC&ICD 46

提案手法の概要 source code 1) 特定コア温度向けに最適化 object code for 125 object compiler code for 25 Operating System Core Temperature 2) コア温度に応じて切り替え object code for 65 Geyser 3) 命令に基づくパワーゲーティング Hardware 20120119ARC&ICD 47

温度に適合したコードを実行する メモリ管理 仮想アドレス空間 仮想記憶により各タスクに一意の仮想アドレス空間を提供 テキスト領域の多重化 各コア温度向けに一意のテキスト領域を提供 コア温度変化に基づくテキスト領域の動的切り替え stack Core Temperature 65 stack Core Temperature 125 stack heap heap heap data data data textt For 125 For 65 For 25 For 65 For 125 20120119ARC&ICD 48

コード管理 : コアごとに応じたコードの 切り替え Application Program Object file ELF header Program header Program header Program header Program header For 25 For 65 For 125 ヘッダ参照 2) コード選択 3) ロード Core Temperature Operating System 65 1) コア温度取得 Memory CPU core 20120119ARC&ICD Page fault 49

評価 (1) 消費リーク電力の評価 (1) 全温度平均 PG を行うことで消費リーク電力を大幅に削減最も効果の高い提案手法 (ⅳ) では平均 77.3% 削減 実行時オーバヘッドは 3.2% 提案方式 (ⅳ) ハードウェア自律 (ⅱ) との比較 : 最高 55.7%, 平均 35.0% 削減 コンパイラ単体 (ⅲ) との比較 : 最高 15.6%, 平均 5.5% 削減 50

評価 (2) 消費リーク電力の評価 (2) 25 一般的に低温下では BEP が短いため PG による省電力効果は低い 手法 ⅲ,ⅳ は低温下でも効果を発揮 提案方式 (ⅳ) ハードウェア自律 (ⅱ) との比較 : 最高 60.7%, 平均 37.6% 削減 コンパイラ単体 (ⅲ) との比較 : 最高 24.5%, 平均 4.9% 削減 51

まとめ 計算機システムの省電力化においても OSの役割は重要 ただし 粗粒度 細粒度 PG: 資源管理のモデルと実行時情報に基づく資源管理手法 階層を越えた研究 新しいハードウェアへの対応 20120119ARC&ICD 52

さらなる効果を目指すには 今日の話は演算器系のみ 普通の CPU には : キャッシュ,TLB, 回路内 FF 状態保持の多い制御系と 一過性の計算主体の演算系の徹底分離 on にすべきところだけ on, そこを減らす メニーコアのアクセラレータ いずれ また ( 格闘中 ) メモリ どうする? パネルへ続く 53