ビルディングブロック型システム

ビルディングブロック型システムが
拓く新しいシステム構築法
天野英晴1
Special Thanks to
宇佐美公良2、 近藤正章3、
黒田忠広1、中村宏3、
並木美太郎4、松谷宏紀1
1 慶應義塾大学
2 芝浦工業大学
3 東京大学
4 東京農工大学
自己紹介
天野は何をやってきたのか?
•
主に並列計算機を研究してきた
– CPU自体は、MBP-lightに至るまで作ったことがなかった。
•
•
学生の頃趣味でオリジナルCPUを作ったが、モニタがなくてろくに動かなかった。
CPU作ってもOSが作れないので動かせない。
– 交信用メモリ
– 結合網
– リコンフィギャラブルシステム
•
ハードウェアを作ってきた
– コアをLSIチップで実装
– システム全体を作る
•
ずっと慶應に居た
http://www.am.ics.keio.ac.jp/members/hunga
2016年フェロー就任講演 「しくじりフェロー」 をご覧ください。
(SM)2-II
共有メモリ型交信機構を持ったマルチプロセッサ
RSMController
0.6μm Gate Array
Co-processor
68030
ISCAが東京に来た
時にデモをやった
SNAIL-II
スイッチ結合型マルチプロセッサ
SNAIL-IIのマザーボード
PBSFチップ
完成したJUMP-1の勇姿 2000年3月
A system with 16 clusters
(Kyoto Univ.)
A system with 4 clusters
(Keio Univ.)
当時、ムーアの法則は18ヶ月で2倍を越えて
作用した。結果として出来た頃はその辺の
WSの方が性能が高かった。
ASICを用いて製作したPCクラスタRHiNET
NECのDRL(Dynamically
Reconfigurable Logic)と連携
NECのDRLチップを使った
WASMIIのエミュレータ
しかし、ここで細粒度は
ダメなんじゃないか、という
ことになった。
面積効率+特許問題
Coarse GrainのDRPへ
レモン電池で動作する
CMA-SOTB2
8
本日のストーリー
• ビルディングブロック型計
算システムとは?
• 誘導結合TCI(ThroughChip Interface)
• Cube-1: プロトタイプ1号機
• SOTBの利用とその効果
• Cube-2:プロトタイプ2号機
Thanks to:
• 科研費基盤研究 S 「誘導結合チップ間インタ
フェースを用いたビルディングブロック型計算
システムに関する研究」
• VDEC、Synopsys, Cadence, Mentor
Graphics
• ルネサスエレクトロニクス、LEAP
ムーアの法則とは?
単体コアの性能向上
性能
マルチコアの時代
マイクロプロセッサ ×1.22/年
性能爆発時代
メインフレームの時代
×1.5/年
ムーアの法則
×1.3/年
1960
1970
1980
1990
2000
利用可能なトランジスタ数は
18か月で倍になる
→
コンピュータの性能は18か月で
こちらはも
倍になる
う終わって
いる
2010
年
The trends will change past End of Moore’s Law
3-5nm and
beyond
2025Constant
Transistor
Power
• ~2004 Dennard
scaling, perf+ =
single thread+ =
transistor & freq+ =
power+
• 2004~2015 feature
scaling, perf+ =
transistor+ = core#+,
constant power
• 2015~2025 all above
gets harder
• 2025~ post-Moore,
constant
feature&power =
flat performance
「ポストムーアに向けた計算機科学・計算
科学の新展開」シンポジウム より(2015
年12月22日)
ポストムーア的状況
〜2004年 ムーアの法則黄金時代
CMOS技術の進歩で性能、コスト、電力の全てが改善された
2004〜2015
単体プロセッサの性能向上が止まる
マルチコア化による性能向上 ポストムーア的状況は既に
2015〜2025
忍び寄っている
トランジスタ数の増加、先端プロセスへの移行が困難に
2025〜
CMOSプロセスの進歩が止まる
メモリ、オプティクスなど個別技術の進展、ブレークス
ルーのみになる
先端プロセスの利用が困難に
• 組み込みシステム
に対する要求の増
大、多様化
– Smart Phones,
Tablets, Car
electronics,
Sensors, etc.
– 高性能、低エネル
ギー消費、低コスト
…
• LSIのNRE (NonRecurring
Engineering) コストの
増大
– マスクの複雑化
– 設計、検証の複雑化
• SoC (System-onChip) を目標毎に作る
のは困難に
ビルディングブロック型計算システム
ビルディングブロック型計算システム
科研費基盤研究(S)
CPU
CPU
Memory
Memory
CPU
Memory
Memory
Accelerator1
CPU
Accelerator2
Accelerator1
Memory
Memory
Accelerator2
CPU
Accelerator1
Accelerator1
Accelerator2
Accelerator2
1 step: チップの重ね方を変えて様々なシステムを作る
2 step: ユーザが自分でチップを交換、増強 → Field Stackable
Key Technique: Inductive Coupling Through-Chip Interface(TCI)
3D IC technology for going vertical
More than
three chips
Two chips
(face-to-face)
Wired
Wireless
Flexibility
Microbump
Capacitive coupling
Scalability
Through silicon via
Inductive coupling
CPU Core
35bit Packet Structure
35
33 32
Header
Payload
1
Network Interface
Transfer Type:
Data Link
Command/Address
Single Packet Data
Burst Multi-Packet Data
Clock
Link
Rx
Accelerator Core
Tx
Host
Router
Network
Packet En/Decode
Network
Interface Packet En/Decode
Interface
3D Interconnect
TCI
TCI
Rx
Rx
Tx
Uplink
Tx
Tx
Tx
Rx Accelera
Rx Accelerator 2
Downlink
Block diagram of scalable 3D NoC using inductive-coupling ThruChip Interface (TCI).
RxPacket
RetimingClk
Counter
35
Footer bit
“0”
35bit Parallel Data Latch
35
1
36:1 Shift-Register-Type Demultiplexer
Rxdata
Replica Bias
Circuit schematic of TCI.
Rx
Rx
Rx
Rx Blk
Tx Blk
Start/Stop
Clock
Link
Tx
Counter
Tx
Txdata
ON/OFF
SystemClk
Data
Link
36:1 Shift-Register-Type Multiplexer
35
1
35bit Parallel Data Latch
TxPacket
35
Footer bit
“0”
Y.Take. et.al, 3D NoC with Inductive-Coupling Links for Building-Block SiPs”,
IEEE Transaction on Computers, Vol.63, No.3, pp.748–763, March 2014.
誘導結合 TCIの利点
• 8Gbpsを越す速度を 10mWの電力消費で実現.
• エラー発生率は極めて低い10-9
– 実質的にエラー訂正は不必要
• コイルは通常のCMOSのワイヤで作る
– 特別なプロセスは不必要
• TSVと違ってESD (Electro-Static Discharge) 保護
デバイスは 不必要
• 積層コストはTSVよりずっと少ない
– 40-80umの厚みに削り、通常のインターポーザー 同様の
ボンディング
Tx can be placed just
on Rx
Most wires are used
for testing and
debugging
問題点
• コイルの面積はTSVのviaよりもずっと大きい
– テクノロジは3次元方向にスケールしない
• ということは、コイルもTSV viaも相対的に大きくなる
– ディジタル回路をコイル内に入れることができる
→ TSVに比べてむしろ有利になっていくだろう
• 電源、グランド、クロックはワイヤで供給
– インダクタによる電源供給は黒田研でテスト中
• しばらく時間が掛かるが現実性は高くなっている
• 熱は誘導結合では逃げない
– TSVと比べた本質的な弱点
– 導熱性の接着剤など、新技術が必要か?
プロトタイプシステムCube-1
• 誘導結合でリング状のネットワークを構築
• 共有メモリ空間を実現
The number of accelerators can be
changed.
Ring based packet switching
network is formed
Geyser-Cube
CMA-Cube
Inductive
Coupling
Network IF
MIPS CPU
Core
TEG
TCI Tx
TCI Rx
Host CPU Chip
Network IF
8x8 PE Array
m-Controller
Host C
TCI
Rx
Tx
Tx
Rx
Accelerator Chip
Microphotograph of stacked test chips.
Accelerato
Accelerato
Accelerato
Host CPU + Accelerator x3 Chip Stack
Fabricated in 65nm CMOS
Geyser-Cube
• MIPS R3000 Compatible CPU
• Cache を用いてCMA-Cubeとの間でデータ通信
• Fine-grained Power Gating を 4 FUs (ALU, SHIFT, MULT,
DIV)に適応
• Linux が稼働
• M.Kondo, et.al. “Design and Evaluation of Fine-Grained
Power-Gating for Embedded Microprocessors,” DATE2014.
SLL $d, $t, h
IF
Sleep
Controller
ID
sleepCon
signal
EX
MEM
WB
ALU
SHIFT
MULT
DIV
CMA-Cube
• Coarse Grained
Reconfigurable
Processor Array
• PE array:組み合わせ回
路から成る
• μController:データの転
送を柔軟に管理
“Cool Mega Array” IEEE
Micro 2011.11/12
チップの積層法: Slide & stack
• TX/RXを重ねると共にボンディング領域を確保
TX
TX
TX
TX Inductor (TX)
Inductor (RX)
Bonding wire
Bonding wire
TX
TX
Bonding wir
TX
TX
TX
Bonding
リングネットワーク:バブルフロー制御
• バブルフロー制御
– 単一バッファは最低2パケット
以上を格納可能にする。
– 1パケット分のバッファ領域を
常に各ルータに保持する。
Single VC that can buffer
more than 2 packets
[Puente,ICPP’99] [Abad,ISCA’07]
• 利点
– VC不要; 単純なフロー制御
• 欠点
– パケット逆転の可能性がある
RX
TX
Deadlock does not occur since all buffers
are never occupied by the flow control
Cube-1とCube-2の仕様
Cube-1
Cube-2
Process
Fujitsu e-shuttle 65nm Renesas SOTB 65nm
12metal
7metal
Area
2.1mm X 4.2mm
3mm X 6mm
TCI
3Gb/s 240um
2.5Gb/s 240um
CPU
Cache
TLB
MIPS R3000
4KW 2way sep.
16-entry shared
MIPS R3000
4KW 2way sep.
16-entry shared
CMA
CMA-Cube 8x8
CC-SOTB 12x8
Supply Voltage
0.6-1.2V
0.3-1.2V
Target Frequency
50-100MHz
50-100MHz
Chip Thickness
40-80um
80um
デモシステム
Chip
Stack
FPGA
Daughter Board
Mother Board
Display
Output
Packet Error Rate (PER)
35bit Burst Packet Transmission @ 50MHz System
Clock
10-5
10-6
Continuous >1 Hour
Error-Free Operation
@ Nominal Supply Voltage
10-7
10-8
10-9
10
TCI Power
Dissipation [mW/ch]
エラー率
&
TCI電力
10-4
9
8
7
6
5
0.8
5.8mW/c
h@
0.92V
0.9
1
1.1
Supply Voltage [V]
Measured PER and TCI power dissipation dependence on supply voltage.
1.2
1.3
実チップ評価
Energy Consumption
Performance Evaluation
Energy (μ J)
600,000
1200
Execution
[cycles] (msec)
Execution TimeTime
500,000
1000
800
400,000
600
300,000
400
200,000
140
120
100
Geyser
Only
80
2-chip
stack
60
Geyser
Only
2-chip
stack
CMA
40
200
100,000
20
Geyser
0
0
Alpha
Alpha
Gray
Gray
Sepia
Sepia
Alpha
Gray
Sepia
Cube-1について
Please check Micro
2013.11/12
http://www.am.ics.keio.ac.jp/kaken_s
次のステップが難しい
• Cube-1の問題点
– 3枚以上で安定動作しない
– 移植性が低い
• 電気的な問題
• ネットワーク、プロトコルの問題
• ビルディングブロック型計算システムの実現
にはもっと地味な作業が必要
– TCIのIP化
– チップ性能の自動調整機構
TCIのIP化
•
•
•
•
TCIは面積が大きい
ACK機構用のインダクタの設置は困難
三層構造で、双方向通信用IPの提供
TCI層のみ切り離しての利用も可能
ルータ
リンクコントローラ
TCI IP送信モード
TCI IP受信モード
ルータ層 Verilogで提供 デッドロックフリー
仮想チャネル付きパケット転送
リンク層 Verilogで提供 パケット1個分の双方向
転送
TCI層 レイアウトで提供 チップ間の35ビット
データ片側転送
TCIのIP化:TCI層
CLK
用
CLK
用
受信
機
2GHz clk
半二重通信方式
SERDES内蔵
非同期インタフェース
送信
機
受信
機
受信用
SERDES
送信
機
送信用
SERDES
TXWRITE
TXBUSY
RXREADY
35bit 受信
RXREAD
データ
35bit 送信データ
PERR, OVW,
フレームエラー
TCI-IPブロック
ClockCounter
S/E BitDetector
RxReady
7
35
MUX
35
LATCH
TX
TX
RX
RX
DEMUX
TXWrite
TXDATA
OverWrite
RxRead
TxSleep
RxSleep
インダクタ部分とSERDES部分をセットでIP化
42
RxLatch
42
ParityChecker
TxBusy
OverW Detector
LATCH
Txclk
44
RXDATA
StartBit ->3bit
Payload ->35bit
Parity ->2bit
Endbit ->4bit
TX/RX 回路図
D-S
変換
RXDATA
Rx Circuit
VB
M
Tx Circuit
送受信機は実績の
ある方法を採用
BIAS
SW
RxSleep
IRXBIAS1
BIAS
SW
RxSleep
IRXBIAS2
BIAS
SW
TxSleep
ITXBIAS
IT
S-D
変換
TXDATA
タイミングチャート
TxWrite
TxData0
TxLATCH0
Txclk
TxBusy
Rxclk
RxLatch
RxLATCH0
RxReady
RxRead
非同期式の転送を採用→転送中の書きつぶしは防げる、しかし相手方のバッファの状況は
わからない!
TCI IP
Clock
Data
80μm
thickness
36bit/50MH
with normal
bias.
Including
SER/DES
circuits.
Half-duplex
data transfe
CMA-Cube SOTB Layout
TCI IP
×2
(Up/Down)
Renesas Electronics 65nm SOTB 7Metal layers
4mm X 2mm
TCI層のIP
• レイアウトのデザインフローに組み込むのが
大変だった
• Milkyway Library化ができた
• 全体としてDRCエラーフリー、LVSフリーにす
るフローができた
• 今年中にVDECで開放する予定
– 誰か使っておくれ、、、、
リンク層
• 仮想チャネル8、フリット長1,2,16のパケット
の双方向転送をサポート
• データ転送にACKパケットをピギーバック
• チップ間における安全な転送を保証
リンク
ルータ
PKT
バッ
ファ
×8
T
X
R
X
データとACK
データとACK
R
X
T
X
リンク
PKT
バッ
ファ
×8
ルータ
Cube-1のネットワークの問題点
• インダクタを大きくした
• 三層以上で交信が干渉
• 距離が違うので大丈夫なはず→案外強力
RX TX
TX
RX TX
Bonding wire
RX
TX
RX TX
RX TX
Bonding wire
RX
TX
Bonding wire
RX
TX
RX
Bonding wire
Cube-2のエレベータネットワーク
• リンク層に単純なルータを装備して構成
– 35bit flit (32bit+3bit header)
– Virtual Channel: 8
– ACKsを対抗リンクの転送に埋め込む.
IP Core
Router
TCI
RX
IP Core
TX
TX
RX
Chip 0
Router
Router
TCI
Router
TCI
TCI
RX
TX
RX
TX
TX
R
X
RX
TX
Chip 3
TX
R
X
TX
Chip 2
RX
Chip 1
45
Ring vs. エレベータ
アップリンクとダウンリンクは
同一ルータに接続される
ルータのd=3(In,Out,Core)
各チップは1ルータ
最下層、最上層以外は
チップ内に経路がない
ルータのd=3(In,Out,Core)
各チップが2ルータを持つ
RX TX
TX
RX TX
RX
TX
RX TX
RX TX
RX TX TX
RX
TX
RX
RX TX TX
RX TX TX
RX
TX
RX
RX
RX
RX TX TX
2 or 17-flit パケットの場合
Uniform
Bit reverse
200
Average latency [cycle]
Average latency [cycle]
160
Piggyback
120
Ideal
80
40
0
Piggyback
160
Ideal
120
80
40
0
0
0.2
0.4
0.6
Injection rate [flit/node/cycle]
0
0.2
0.4
0.6
Injection rate [flit/node/cycle]
→ Almost no performance overhead
47
Hot Spotトラフィック
• Hotspot
– 4.5 times packets are sent to the top layer.
Average latency [cycle]
200
Piggyback
160
Ideal
120
80
40
0
0
0.1
0.2
0.3
0.4
0.5
0.6
Injection rate [flit/node/cycle]
→ 20% latency degradation
48
性能の自動調節システム
• 様々なチップをまとめてシステムとして稼働さ
せるには、必要とする性能、電力に各部が自
動的に調整されるのが嬉しい
チップ
Vdd=0.4V
VBN=-0.2V
動作周波数が上がると
チップ
Vdd=0.6V
VBN=0.0V
自動的に内部で
電圧、構成が適応する
SOTB技術の導入
ブロック間組み合わせの自動適応
チップを物理的に交換しなくても良い場合
TCI
Accelerator
Accelerator 21
Accelerator
機能のスイッチ → Reconfigurable Accelerator
スピードと電力 → SOTB technology
SOTB MOSFET
Back Gate
D
G
N-well
S
D
G
P-well
Deep n-well
(a)
S
STI
P-sub
(b)
Box layer
☆10nm程度の薄い酸化膜上にトランジスタを形成(FD-SOI)
☆高い基板バイアス効果(リーク電流削減 )
☆ノイズマージン特性が良い
低電圧動作&基板バイアス制御に最適
51
ボディバイアス制御
5.5e-10
1.8e-10
1.6e-10
pMOSFET
nMOSFET
VBN
Leakage Current
5.0e-10
Delay
4.5e-10
1.4e-10
4.0e-10
1.2e-10
3.5e-10
1e-10
3.0e-10
8e-10
2.5e-10
6e-10
2.0e-10
4e-10
1.5e-10
2e-10
1.0e-10
0
-0.6
Delay [s]
Leakage Current[A]
VBP
5.0e-11
-0.4
-0.2
0
0.2
0.4
Body Bias[V] (+:forward -:reverse)
VBN > VS (Forward bias)
VBP < VS
• High speed
• Large leakage current
VBN < VS (Reverse bias)
VBP > VS
• Low leakage current
• Low speed
要求性能に応じたボディバイアスの印加が効果的
Keio University
52
Leakage Current vs. Body bias
漏れ電力はリバースバイアスで削減可能
性能はフォワードバイアスで強化可能
VDD = 0.4 V
T = 30 ℃ 54
CMAの動作の最適化
743 MOPS/mW
性能
電力
周波数
:297 MOPS
:0.40 mW
:40 MHz
55
プロセッサの電力モデル
core
室温
Mem
70度
室温
70度
I
2.5876*10-4 9.8272*10-4
3.0523*10-4
1.0523*10-2
A
0.51921
0.44731
0.45172
0.29290
B
1.7926
1.64603
2.1563
1.6384
Pleak =( Icore10 AcoreVDD+BcoreVBN + Imem10AmemVDD+BmemVBNM)VDD
★高温下でのリーク電流値が上昇することを反映している
→係数Iで対応
★A、Bは温度特性を持つ
→高温で減少傾向にある
→電圧あたりのボディバイアスの効きが悪くなる
レモン電池を使ったデモ
Web-site: http://www.am.ics.keio.ac.jp
57
Cube-2: プロトタイプ2号機
Cube-2の目標:
– 4チップ積層時の安定動作
– TCI IPのテスト
– リンクレイヤとルータレイヤ
→NiP(Network-in-Package)の形成
– SOTBのボディバイアスによるTCIの制御
– 4種類のチップによるヘテロジーニアスマルチコア
システム
• 大量の画像データ(顔画像)を前処理、深層
学習、データベース格納するというシナリオは
どうか?
Cube-1とCube-2の仕様
Cube-1
Cube-2
Process
Fujitsu e-shuttle 65nm Renesas SOTB 65nm
12metal
7metal
Area
2.1mm X 4.2mm
3mm X 6mm
TCI
3Gb/s 240um
2.5Gb/s 240um
CPU
Cache
TLB
MIPS R3000
4KW 2way sep.
16-entry shared
MIPS R3000
4KW 2way sep.
16-entry shared
CMA
CMA-Cube 8x8
CC-SOTB 12x8
Supply Voltage
0.6-1.2V
0.3-1.2V
Target Frequency
50-100MHz
50-100MHz
Chip Thickness
40-80um
80um
Cube-2:
4種類のチップによるヘテロジーニアス
マルチコアシステム
GC
GC: Geyser-Cube
R3000コンパチブルホストプロセッサ
Linux OSが稼働
入出力を行う
CC
NN
KV
GC
CC
NN
KV
FPL2014, CANDAR2015など
GC
CC
NN
デザインガイア2016で発表予定
KV
GC
CC
NN
HOTInterconnect2015など
KV
テスト用の環境
シナリオに欠けるもの
• 巨大なデータを格納するDRAMがない
• Pezyの新しいスーパーコンピュータ用に開発中
– ACSELプロジェクトで進行中
→ 技術協力している
いろいろ問題がある
VDECのIPは商用に使えない など。。。
将来は利用可能に
ビルディングブロック型アーキテクチャの展開
410.8μm
Clock
Data
500μm
Research Progress
• Wireless TCI
– Digital circuits in the coil.
– Heat dissipation analysis.
• Networks formed by TCI
– Ring-based bubble flow control.
[Matsutani_NoCs13][Take_IEEETrans.13]
– Selecting roots of spanning tree.[Matsutani_ASPDAC13]
– Using randomized chip [Matsutani_DATE14]
– Headfirst sliding routing [Kagami_NoCS13]
• Reducing the power of TCI
– On/Off switching methods [Zhang IEICE_Trans13.]
• Development of Real systems
– Cube-1 [Hotchips13][FPL13]
– Test chips were designed using STmicro’s 28nm
process.
A linear network used in Cube-2
Ro
uter
TX
RX
RX
TX
Geyser
GeyserCube-SOTB
Ro
uter
TX
RX
CC-SOTB
RX
TX
Ro
uter
CMA
TX
RX
RX
TX
CC-SOTB
CMA
Ro
uter
CMA
●Virtual Channel:8
●ACK is sent through the opposite side packet.
TX
RX
CCSOTB