3次元積層型ヘテロジニアスプロセッサ のためのシ...

25
3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応⽤ ⼩島 拓也、池添 赳治、天野 英晴 慶應義塾⼤学 理⼯学研究科 ETNET2020

Transcript of 3次元積層型ヘテロジニアスプロセッサ のためのシ...

Page 1: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

3次元積層型ヘテロジニアスプロセッサのためのシミュレータ開発とその応⽤

⼩島 拓也、池添 赳治、天野 英晴慶應義塾⼤学 理⼯学研究科

ETNET2020

Page 2: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

3D/2.5D SiPの時代へn 従来の2次元平⾯のLSI

n微細化の限界や配線⻑の増加n 2.5次元,3次元LSIによる解決

n SiP (System In Package)/MCP (Multi-Chip Package)nNREコスト削減n歩留まり向上

n シリコン貫通電極TSVによるSiPは既に製品化nFPGA: Virtex-7 (Xilinx), Stratix 10 (Intel)nGPU: FIJI(AMD), Volta (NVIDIA)

n3D-DRAM: HBM1.0, HBM2.0 (JEDEC)nCPU: Xeon Phi, Lakefield (Intel)

n多くが⾼いスループット達成を⽬的 2

Page 3: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

誘導結合TCIを⽤いたビルディングブロック型計算システム

n TCI (ThruChip Interface)nコイルの誘導結合を⽤いた

シリアル通信nCMOSプロセス互換

nコイルは通常のメタル層で形成

n最⼤8Gbpsのデータ転送n 10-12以下のエラー率

3

serializer

deserializer

ルータ

コア2

Rx Tx RxTx

IC

serializer

deserializer

serializerdeserializer

IC

OC OC

OC

ICICクロスバスイッチ

ルータ

TCIリンク

コア1

Rx Tx RxTx

serializer

deserializer

serializerdeserializer

ルータ

コア0

Rx Tx RxTx

Data Link

CLK Link

n TCIを⽤いたエスカレータネットワークn 35bit 1フリットのパケット通信を⾏うルータn積層チップで双⽅向リングを形成

Page 4: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

柔軟性のあるシステムの実現n容易にシステム構成をカスタマイズ

n⽤途に応じて機能モジュールを組み合わせn例)

nCPU, メモリ, DSA (Domain Specific Architecture),Reconfigurableデバイス

4Accelerator2

CPU Memory Accelerator1

MemoryCPU

MemoryMemoryCPU

MemoryMemory

Accelerator1Accelerator2

Accelerator2

CPU

Accelerator2Accelerator1Accelerator1

CPU

Page 5: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

試作済みシステム Cube-2[1]GeyserTT CC-SOTB2 SNACC KVS SMTT

MIPS R3000プロセッサ

粗粒度再構成可能デバイス

CNNアクセラレータ

Non-SQL DBアクセラレータ

共有メモリブリッジチップ

5

n Renesas SOTB 65nmで試作

[1] S.Terashima, et al. "A Preliminary evaluation of building block computing systems.” MCSoC 2019

Page 6: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

システム設計時の課題と解決n現状のフロー

6

対象アプリケーション

RTL設計 RTLシミュレーション システム評価

n各種パラメータ変更の変更が容易でないnキャッシュ、メモリサイズnデータバス幅、バンド幅nアクセラレータコア数

nサイクルレベルシミュレータによるシステムの予備評価

Page 7: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

本研究の⽬標

n 3次元積層型システム向けシミュレータの開発n サイクルアキュレートレベルn アーキテクチャのパラメータ化n ⾼速なシミュレーション環境n デバッグ機能の提供

7

システムシミュレータ

ProgramCodes

アーキテクチャConfig

CACTIGCC/LLVM

GNU デバッガユーザー

キャッシュ,DRAM構成アクセラレータ構成,バス幅,etc.

遅延情報Binary

Symbols

性能分析 電⼒、⾯積の⾒積もり

Page 8: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

本研究の⽬標

n 3次元積層型システム向けシミュレータの開発n サイクルアキュレートレベルn アーキテクチャのパラメータ化n ⾼速なシミュレーション環境n デバッグ機能の提供

8

システムシミュレータ

ProgramCodes

アーキテクチャConfig

CACTIGCC/LLVM

GNU デバッガユーザー

キャッシュ,DRAM構成アクセラレータ構成,バス幅,etc.

遅延情報Binary

Symbols

性能分析 電⼒、⾯積の⾒積もり

本発表で着⼿

Page 9: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

シミュレータの開発n オープンソースシミュレータVMIPS[2]

をベースに拡張nC++⾔語で実装nMIPS R3000 ISAをエミュレートnハードウェア的な振る舞いを追加

nCPUのパイプラインnメモリアクセスレイテンシnキャッシュnバス競合, etc.

nチップ間ルータの追加9

[2] The VMIPS Project, Version 1.5.1”, http: //vmips.sourceforge.net/vmips/

Page 10: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

ホストプロセッサ: Geyser

10

5ステージパイプラインコア

内部バス

メインメモリ/各種IO

ルータ

ルータ I/F

乗算/除算ユニット

コプロセッサCP0

MMU TLB

データキャッシュ

命令キャッシュ

バスアービタ

DMACMIPS

R3000コア

Geyser SoC外部バス

コントローラ

TCIリンク

要因 ストールサイクル

IFキャッシュミス 不定メモリストール 不定

ID データハザード 1サイクル

EX

構造ハザード(CP0) 最⼤5サイクル

構造ハザード(乗算器) 最⼤3サイクル

構造ハザード(除算器) 最⼤9サイクル

MEMキャッシュミス 不定メモリストール 不定

発⽣するストール

Geyser SoCの構成

Page 11: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

Geyserアドレス空間

n 積層チップは2つのアドレス空間にマップn現在の設計ではGeyserを含め最⼤4チップ

n 通常のロード/ストアでアクセス 11

Kseg0

Kseg1

TLBマップなし/キャッシュ使用

TLBマップなし/キャッシュ未使用

0x8000 0000

0xA000 0000

0x9A00 0000

0xBA00 0000

16MB

16MB

ルータ割り当て領域

ルータ割り当て領域

0x00 0000

0x40 0000

0x80 0000

0xC0 0000

Geyser I/Oレジスタ

チップ1 (ID=1)

チップ2 (ID=2)

チップ3 (ID=3)オフセット

Page 12: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

ルータによるフロー制御-1

n データ転送nヘッダ+データフリット

or ヘッダのみn ピギーバック

n転送先チップのバッファ状態を把握

12

serializer

deserializer

ルータ

コア2

Rx Tx RxTx

IC

serializer

deserializer

serializerdeserializer

IC

OC OC

OC

ICICクロスバスイッチ

ルータ

TCIリンク

コア1

Rx Tx RxTx

serializer

deserializer

serializerdeserializer

ルータ

コア0

Rx Tx RxTx

Data Link

CLK Link

0123467910313234Dest.Src.Message

TypeLocal AddressFlit Type VirtualChannel

031323434Flit Type Data

049 5101415193234Flit Type ACK7/ACK3 ACK6/ACK2 ACK5/ACK1 ACK4/ACK0

HEAD/HEADTAIL Flit

DATA/TAIL Flit

STAT0/STAT1 Flit

フリットフォーマット

Page 13: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

ルータによるフロー制御-2

n ある上層チップから下層チップへデータを転送する場合の動作例n下層チップはACKを返す

n 各チャネルは8つの仮想チャネルで構成 13

IC: Input ChannelOC: Output Channel

IC

IC

ICOC

OCOC

Tx

Rx Tx

Rx

上層ルータ

下層ルータ

TCIリンク

TCIリンク

送信データ

受信データ

ACK送信

ACK受信

仮想チャネルバッファ x8

MUX

valid信号

VC番号

入力チャネル(IC)ready信号

出力チャネル(OC)カウンタ

ready信号

ACKフリット

OCOC

フリット

valid信号

フリット

フリット35

35

3535

3

8

8

8

8

Page 14: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

シミュレータの構成 (主要部)n追加および変更したコード

14

vmips.cc

mapper.cc cpu.cc debug.cccpzero.cc

busarbiter.cc cache.cc

routerinterface.cc accelerator.cc

router.cc acceleratorcore.cc

Page 15: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

シミュレータの構成 (主要部)n追加および変更したコード

15

vmips.cc

mapper.cc cpu.cc debug.cccpzero.cc

busarbiter.cc cache.cc

routerinterface.cc accelerator.cc

router.cc acceleratorcore.cc

• 5段パイプライン化• ストール、例外の適切な

ハンドル

Page 16: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

シミュレータの構成 (主要部)n追加および変更したコード

16

vmips.cc

mapper.cc cpu.cc debug.cccpzero.cc

busarbiter.cc cache.cc

routerinterface.cc accelerator.cc

router.cc acceleratorcore.cc

• メモリアクセスレイテンシの考慮• バスのアービトレーション• バンド幅のパラメータ化

Page 17: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

シミュレータの構成 (主要部)n追加および変更したコード

17

vmips.cc

mapper.cc cpu.cc debug.cccpzero.cc

busarbiter.cc cache.cc

routerinterface.cc accelerator.cc

router.cc acceleratorcore.cc

• ライトバックキャッシュ• n-way set associative• ブロック数、ラインサイズ

のパラメータ化

Page 18: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

シミュレータの構成 (主要部)n追加および変更したコード

18

vmips.cc

mapper.cc cpu.cc debug.cccpzero.cc

busarbiter.cc cache.cc

routerinterface.cc accelerator.cc

router.cc acceleratorcore.cc

• ルータによるフロー制御のエミュレート

Page 19: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

シミュレータの構成 (主要部)n追加および変更したコード

19

vmips.cc

mapper.cc cpu.cc debug.cccpzero.cc

busarbiter.cc cache.cc

routerinterface.cc accelerator.cc

router.cc acceleratorcore.cc

• アクセラータ⽤基底クラス• 継承してアクセラレータを• カスタマイズ

Page 20: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

評価n本シミュレータ⾃体の評価

n同等のRTLシミュレーションと⽐較nvs Cadence NC-Verilog

nシステム評価の利⽤例1. コンパイラの⽐較2. キャッシュway数の⽐較3. データバス幅の⽐較

20

Page 21: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

実⾏時間の⽐較n3つの構成でRTLシミュレーションと⽐較

nGeyser単体nGeyser+CC-SOTB2nGeyser+CC-SOTB2x2

21

[sec] NC-Verilog 本シミュレータGeyser 27.024 0.115

Geyser+CC-SOTB2 24.750 0.171Geyser+CC-SOTB2 x 2 29.231 0.174

nIntel Core i5-4250U 1.3GHznDDR3-SDRAM 8GBで実⾏n約234倍の⾼速化

Page 22: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

評価-コンパイラの⽐較

22

0

0.2

0.4

0.6

0.8

1

1.2

adpcm aes blowfish gsm jpeg mpeg2 sha �

LLVM 4.0.1 LLVM 8.0.1 GCC 4.8.2����

(���

)

n Geyserのみを利⽤n LLVM4.0.1,LLVM8.0.1, GCC 4.8.2クロスコンパイラ

nすべてO3で最適化

GCCが15%程度早い

Page 23: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

キャッシュway数 vs パフォーマンス

n JPEGエンコードをケーススタディとして利⽤n CC-SOTB2(CMA)にオフロードすると

1.3~1.4倍⾼速化 23

Page 24: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

バス幅 vs パフォーマンス

n 同様にJPEGエンコードn バス幅に合わせてTCIの転送速度も

増加させている 24

Page 25: 3次元積層型ヘテロジニアスプロセッサ のためのシ …...3次元積層型ヘテロジニアスプロセッサ のためのシミュレータ開発とその応 島拓也、池添赳治、天野英晴

結論

n3次元積層システム向けのシミュレータを開発nアーキテクチャをパラメータを変えて評価が

可能にn⾼速なシミュレーション

n 今後の課題n本評価では電⼒、⾯積の増加を考慮できていない

n電⼒、⾯積の推定、シミュレーション環境を追加

nCC-SOTB2以外のアクセラレータもサポート25