「big.LITTLE技術の概要」「big.LITTLEに必要なシステムレベルコヒーレンシとシステムIP製品」

ARMセミナの内容をtsudaりました。
2
kinneko @kinneko

今日は、終わる前に出ないといけないかもしれないので、一番後ろの席を確保。

2013-06-21 13:10:14
kinneko @kinneko

なぜこのセミナーに、花がらワンピースの若い女性が? big.LITTLEの話ですぜ? メディア系の人のお勉強かしらん? #armjp 基本はシャツのオッサン。ポロシャツが3人。

2013-06-21 13:21:32
kinneko @kinneko

今日は、big.LITTLEは省電力目的にはダメ技術じゃないかという思いに確信をもらうためにきました。というか、後半のオンチップネットワークのが面白そう。#armjp

2013-06-21 13:23:52
kinneko @kinneko

A10ってfastbootとかでFW入れられないのかな?

2013-06-21 13:30:42
kinneko @kinneko

今日は眠いので、たぶんうまくtsudaれない。#armjp

2013-06-21 13:32:26
kinneko @kinneko

#armjp 「big.LITTLE技術の概要」90分

2013-06-21 13:33:18
kinneko @kinneko

#armjp なぜbig.LITTELなのか? 高性能と高効率という相反する要求がある。

2013-06-21 13:36:49
kinneko @kinneko

#armjp 高性能(1つか2つの支配的なスレッド、複数アプリの同時実行、高速な応答が必要。3Dゲームなど)、高効率(高性能アプリの処理・アイドル期間、常時接続・ソーシャルメディアetc、音楽SMS音声には1GHzは不要)

2013-06-21 13:37:01
kinneko @kinneko

#armjp コンセントがついているものでも、ユースケースによっては要求はかわらない。(熱の話はなしかよ)

2013-06-21 13:37:29
kinneko @kinneko

#armjp big.LITTLEプロセッシングとは? ピーク性能を維持もしくは向上させつつ〜70%のCPUエネルギー削減。

2013-06-21 13:38:37
kinneko @kinneko

#armjp 低〜中程度負荷のユースケース。A9DualのスマホでのユースケースをアプリごとにCPUクロック状態をバーグラフ。多くの一般的なアプリケーションは低〜中程度のプロセッシング能力しか必要としていない。(ほとんどがアイドル状態)

2013-06-21 13:42:01
kinneko @kinneko

#armjp 大多数のスマホのユーザーは、メール、Web経路、fbする人は、CPUをハイパフォーマンスで使っている時間はとても短い。ピーク性能をカタログスペック的に満たすために高クロックは必要だが、本来は必要がない。

2013-06-21 13:43:12
kinneko @kinneko

#armjp 異なる性能ポイントのためにチューニング。LITTLE(小さいのはイメージ悪いので大文字)。big(これもイメージで小文字)。

2013-06-21 13:43:56
kinneko @kinneko

#armjp LITTLE。もっともエネルギー効率の高いAPU。シンプル、インオーダー、8ステージパイプライン。メインストリームのスマホ(A8/A9)より高性能(場合によっては)。

2013-06-21 13:45:01
kinneko @kinneko

#armjp big。モバイルの電力枠における最高性能。複雑、アウトオブオーダー、複数イシューパイプライン。今日(A9)のハイエンドスマートフォンの最大二倍の性能。

2013-06-21 13:46:16
kinneko @kinneko

#armjp 大小を同じSoCに入れる。入れるだけではだめ。システムインテグレーション重要。

2013-06-21 13:46:48
kinneko @kinneko

#armjp 効率的システムのインテグレーション。ヘテロジニアスCPUの単純化されたOSビュー。ACEコヒーレンシによりGPUコンピュートが可能。電源管理のための電圧スケーリング、全コンポーネント共通のメモリビュー...

2013-06-21 13:48:21
kinneko @kinneko

#armjp big.LITTLEは電力カーブを変える。パフォーマンスを上げればパワーも増大する。消費電力は右肩上がり

2013-06-21 13:49:15
kinneko @kinneko

#armjp CPUのマイクロアーキテクチャの観点では、傾きが若干異なる。1-4コアでのA7/15でのパフォーマンスとパワーのグラフ。A7/15ではグラフの傾きが極端に違う。うまい具合に組み合わせる。仮想的に補完させてやる。いいとこどり。システムの効率を上げる。

2013-06-21 13:51:38
kinneko @kinneko

#armjp ソフトウエアモデル。いいことづくめのようだが、OSの話をすると、頭がいたい問題がたくさんある。big.LITTLE単一アーキテクチャ。3つの主なソフトウエア利用モデル。クラスタマイグレーション、CPUマイグレーション、グローバルタスクスケジューリング。

2013-06-21 13:53:02
kinneko @kinneko

#armjp クラスタマイグレーション。4x4の環境。OSから見た場合、4コアのグループを排他的に使う。負荷の低い場合はLITTLEx4で、負荷があがると全てbigx4に切り替える。効率が悪い。スイッチに前コア切り替え。キャッシュのインバリテーションがいる。切り替え粒度が荒い。

2013-06-21 13:54:31
kinneko @kinneko

#armjp CPUマイグレーション。4x4。7/15をペアで管理。クラスタもCPUもマイグレーションでは、ハードウエアリソースとしては、同時に使えるのは4つだけ。

2013-06-21 13:55:38
kinneko @kinneko

#armjp グローバルタスクスケジューリング。以前は、big.LITTLE MPと言われていた。OSのディスパッチャがそれぞれのタスクのリソースに応じてCPUに割り振りを行う。研究が進んでいる。

2013-06-21 13:57:15
kinneko @kinneko

#armjp 検証用にLITTLEx3,bigx2のテストプロセッサをTSMCで作った。仕組みとしては、高負荷なタスクをbigに渡してしまう。kernelパラメータでお客がカスタムする。ARMではLinux kernelをチューニングしている。

2013-06-21 13:59:11
kinneko @kinneko

#armjp このSoCで、方式によって、どのようなベンチマークが出ているのか。測定結果。ブラウザとMP3再生を同時に。パフォーマンスとエネルギー。より高性能で50%のエネルギー削減。

2013-06-21 14:01:11