HPC・データセンター向け
FPGAクラスタ拡張システム“ESSPER”の開発と今後の展望
佐野 健太郎
理化学研究所 計算科学研究センター (R-CCS)

May 25, 2022

理化学研究所 計算科学研究センター

チーム研究員公募中
R-CCS2105 or
R-CCS2022 で検索

⾼性能計算 (HPC)分野の研究センター
 スーパーコンピュータ富岳の開発と運⽤
 スーパーコンピュータを⽤いた研究のための最先端インフラの整備と普及
 HPCに関する先端的研究

A Sendai
B Tsukuba
C WakoD Tokyo
E Yokohama
F Nagoya
G Osaka
H Kobeプロセッサ研究チーム
 将来の⾼性能計算機アーキテクチャ
 現在のHPCシステムの⾼度利⽤

東北⼤学 理研R-CCS連携講座
 ⼤学院情報科学研究科「先進的計算システム論講座」
2

I Harima
Supercomputer
FugakuA

Kobe city
CIH

FE

B
DG

Riken Center for Computational Science
May 25, 2022

本講演
 なぜ FPGA による⾼性能システム︖
 HPC・データセンター向け

FPGA システムはどうあるべきか︖
 ESSPER︓FPGAクラスタ概念実証システム
 ESSPERによる研究事例
 今後の展望とまとめ

The world’s fastest supercomputer: Fugaku
3

PoC FPGA Cluster System
May 25, 2022

なぜ FPGA による⾼性能システム︖

4May 25, 2022

[https://top500.org]

World Ranking of Supercomputers
Ranking of HPL performance Linear algebra (LINPACK) Distributed-memory parallelcomputers

Acc
GPUCPUGPU

SunwayTianhe-2A: 2013 TaihuLight: 2016 Summit: 2018

Titan: 2012CPU

 #1 in TOP500
 #1 in HPCG, HPL-AI,Graph500
 #26 in Green500

Sequoia: 2012PerformanceSupercomputer Fugaku

442 PFWhat's next?
CPU, GPU,or Acc?

10.5 PF

Fugaku: 2020
K-computer: 2011
Sum

Trend of HPC Technology

CPUCPU#1

問題は Improvement
slowing down?
 Difficulties in Moore's law?
性能だけではない CPU vs. GPU/Accelerator?

#500
2025

2030

Year

5May 25, 2022

Constraint : System Power Consumption
Average power consumption
 in TOP10, TOP50, TOP500

Needed to increase forhigher system performance

10s of MW for #1 systems
 30MW for 442PF (HPL)with 7,630,848 cores in Fugaku

System power budget
増⼤するシステム電⼒が⼤問題= Critical constraint of
電気代、⼤丈夫?
systemperformance
6

Power [MW] Limited improvement ofperformance per power

18171615141312111098765432
10

17.8
NUDT Tianhe‐2A

28.3

30

Fujitsu Fugaku

18.5
NUDTTianhe‐2A#1 Powerin TOP10
12.7
Fujitsu K‐computer

3.0x
in 5 y

9.9

TOP10
7.0
Cray/HPEJaguar

TOP50

2.6x
in 5 yTOP5002.7x
in 5 yIBM Roadrunner
2.35[https://top500.org]

May 25, 2022

課題︓電⼒効率とスケーラビリティ
電⼒性能⽐
 ノイマン型プロセッサ（CPU, GPU）における演算以外の無駄な処理（スイッチングやデータ移動）が電⼒効率を悪化

 ⾃動でIPCを向上させる機構（分岐予測機構、OoO）
 ⾃動でメモリ遅延を隠蔽する機構（キャッシュメモリ） プログラマフレンドリな利点もあるが、もはや向上に限界

スケーラビリティ
 台数増に伴うオーバーヘッドが台数効果を制限

 コア間やノード間の通信
 並列アルゴルリズム・並列処理の⼤域的な同期
 既存⽅式では効率的スケールアップが困難、電⼒効率が低下

解決策︓データ駆動型の特化型ハードウェア

メニーコアプロセッサ7

May 25, 2022

データ駆動型計算の実現⽅法
⽅法１
 ⻑所 短所

専⽤アーキテクチャのASIC開発

Graphcore

PFN MN‐Core

Groq

Cerebras

SambaNova

Wave computing

対象計算ドメインに最適化可（⾼性能・低電⼒）
適切なドメインは何︖やり直しがきつい

不適切なドメイン → 汎⽤性の⽋如 or 中途半端な性能・効率
開発コスト(ハード、ソフト)・TTM
専⽤アーキは開発コストを回収できるアプリ向け。
その他のロングテイルをカバーするとCPUに近づく

⽅法２

回路再構成可能デバイス FPGA の利⽤ ⻑所

汎⽤だが専⽤化したアーキを⼩NREで実装可 短所

専⽤アーキの設計と実装はしんどい

エコシステム（開発ツール、IPコア）がある
ASICより開発コストやTTMが⼩さい最先端の半導体テクノロジやXVCRアーキテクチャの広範な知識が必須

⾼位合成の場合でも最適化にはハードの知識必要
FPGA⾃⾝のオーバーヘッド（⾯積、電⼒、周波数）
FPGAベンダー依存となる（スペックや納期）
8FPGAの構造May 25, 2022

HPC・データセンター向けのFPGA システムはどうあるべきか︖

9

May 25, 2022

FPGAを利⽤した⾼性能システム研究開発の課題
データ駆動型計算の実現⽅法
⽅法２ 回路再構成可能デバイス FPGA の利⽤ ⻑所

汎⽤だが専⽤化したアーキを⼩NREで実装可 短所

専⽤アーキの設計と実装はしんどいエコシステム（開発ツール、IPコア）がある
ASICより開発コストやTTMが⼩さい最先端の半導体テクノロジやXVCR

アーキテクチャの広範な知識が必須

⾼位合成の場合でも最適化にはハードの知識必要
FPGA⾃⾝のオーバーヘッド（⾯積、電⼒、周波数）
FPGAベンダー依存となる（スペックや納期）

 要件1 様々な専⽤アーキを実装可＋複数FPGAを使⽤して計算性能やサイズをスケールできるシステムを提供＋富岳などの既存システムをFPGAで容易に拡張する⽅法を提供

 要件2 対象問題に対しコストを抑えた
専⽤アーキ開発やプログラミングが可＋様々な実装⽅法をサポート＋システムのHW, SWスタックを提供＋検証済の基盤HWシステムを提供（PCIe I/F, メモリ I/F, FPGA間Network）

誰を対象に、どのような研究開発を⾏うためのシステムにするか︖（コンセプト）
 ベンダー提供の技術に付加価値を載せる研究開発をすべき︓ アプリ、アーキ、開発ツール、システムスタック OpenCLやoneAPIなどのプログラミングのみでなく、HDL〜HLSにより⾃由かつ楽にアーキを実装できること

10

May 25, 2022

概念実証システムの⽅向性 要件1 様々な専⽤アーキを実装可＋複数FPGAを使⽤して計算性能やサイズをスケールできるシステムを提供＋富岳などの既存システムをFPGAで容易に拡張する⽅法を提供

FPGA直結網をサポートする
カスタム可能なFPGA上SoC

ネットワーク越しにFPGAを利⽤可とする遠隔化ドライバ

回路記述⾔語や⾼位合成など様々な実装⽅法に対応

相互利⽤を促進する
HW, SWシステムスタック

 要件2 対象問題に対しコストを抑えた
専⽤アーキ開発やプログラミングが可＋様々な実装⽅法をサポート＋システムのHW, SWスタックを提供＋検証済の基盤HWシステムを提供（PCIe I/F, メモリ I/F, FPGA間Network）

⽬標︓以下を提供する概念実証システム
 ⼗分な専⽤化が可能な実装⼿段
 実装を楽にする共通基盤のハード・ソフト

11

May 25, 2022

ESSPER︓FPGAクラスタ
概念実証システム12

May 25, 2022

Architecture of ESSPER
Goal Technical investigation forfunctional extension ofFugaku.
FugakuSystem network
Computing network (Tofu-D)
Login node

Fugakunode

Fugakunode

FugakunodeFugaku
node

100m cables
Bridging network

FPGA Cluster

ManagenodeExtension system

FPGAnode

FPGA
node

FPGAnodeInter-FPGA network

13

May 25, 2022付加価値検討のための富岳との接続実験

FPGAクラスタ
実験試作機
ESSPER (別室)

「拡張により富岳に付加価値を与える⽅式の検討課題」(FY2017〜2020)

スーパーコンピュータ富岳

Connected with
100m cablesof 100G IB
14May 25, 2022

富岳計算ノードESSPERのシステム構成
FPGA SoC

その他サーバ群

CPU・FPGAネットワーク

FPGAクラスタ部• CADサーバ• ファイルサーバ• 実験⽤サーバ（ARM）• 100Gbps Infiniband• ソフトウェアブリッジ化した ドライバ（R‐OPAE）• FPGAホストサーバ (x86)• FPGAボード• FPGA間専⽤ネットワーク

FPGA カード• SoC (FIM, AFU Shell)• FPGAオブジェクトクラス• HLSコンパイラ / DSLによるプログラミング

15

16

May 25, 2022

FPGA直結網をサポートする
カスタム可能なFPGA上SoC

ネットワーク越しにFPGAを利⽤可とする遠隔化ドライバ

回路記述⾔語や⾼位合成など様々な実装⽅法に対応

相互利⽤を促進するHW, SWシステムスタック

May 25, 2022

ESSPERのソフトウェアスタック
FPGA資源管理サービス

共同研究を期待• Applications• Libraries for HW and SW• Tools / system software• Parallelization techniqueswith multi FPGAs• Search and allocate
resources of multiple
FPGAs• FPGA network
management / control

User Application
HW CodesSW CodesHW Libs
HW Compilers
Intel HLS,
SPGen,
Chisel,HDL
User HWFPGAs' Resource Manager

SW tools

AFU Shell Class
Remote OPAE (R‐OPAE)

DMA LibraryOPAE
DMA Crsbar FC WC FME CCIP EMIF HSSI PCIeAFU Shell

FIM

AFU Shell class (抽象化)• Object of AFU shell• Abstraction of HW
R‐OPAE (遠隔化ドライバ)• Software bridge using
Infiniband Verbs
OPAE• Low‐level driver

FPGA1718

May 25, 2022

FPGA直結網をサポートする
カスタム可能なFPGA上SoC

ネットワーク越しにFPGAを利⽤可とする遠隔化ドライバ

回路記述⾔語や⾼位合成など様々な実装⽅法に対応

相互利⽤を促進する
HW, SWシステムスタック

May 25, 2022

ハードウェアのプログラミング
⾃律的計算コア

計算コアを実装し AFU Shellに組込む
 ⾃律的計算コア

DDR4メモリバスに接続され⾃らデータを読み書きし動作 ストリーム計算コア

クロスバに接続され供給されたストリーム
計算コア

データストリームに対し動作コアのプログラミング⽅法
 ソフトウェア指向

HLS

アルゴリズムをC/C++で記述（Intel HLS）

 ハードウェア指向

HDL

ハードウェア構造を記述（Verilog-HDL, VHDL, Chisel, etc.）

 その他

DSL

ドメイン特化型⾔語等（ストリーム計算コアコンパイラ︓SPGen）

ローレベルだがOpenCLより⾃由度が⾼く、ネットワークも⽤意済

HLS: High‐level synthesis, Chisel: Scala‐based language for RTL, SPGen : Stream processor generator
19May 25, 2022

ESSPERのプログラミングツールフロー 将来的にはWriting DFG
code forhardware

IP coregeneration
by SPGen

Verification bysoftware exec or
RTL simulation

IP coregeneration
by HLS

oneAPIの導⼊も検討

Writing HLS
C++ code for
hardwareWriting
RTL in HDL

Embedding IP
core to AFUShell

FPGA compiler
Writing hostcode in C++

Compileand test

CPUbinaryFPGAbitstream+ Synthesis(logic generation)+ Place & route(HW mapping)Execution with host CPU and FPGA
20May 25, 2022

FPGA直結網をサポートする
カスタム可能なFPGA上SoC

ネットワーク越しにFPGAを利⽤可とする遠隔化ドライバ

回路記述⾔語や⾼位合成など様々な実装⽅法に対応

相互利⽤を促進する
HW, SWシステムスタック

21

May 25, 2022

FPGA間の専⽤ネットワーク
Existing Machine
100m

1000BASE-T Switch

CAD Server #2
File Server
CPU Server #0

3m
100G IBCPU Server #1

3m
100G IBCPU Server #2

3m
100G IB

3m
100G IBFPGA Server #1

3m
100G IBFPGA Server #2

3m
100G IBFPGA Server #33m
100G IB

10GBASE-T x 10

22

FPGA Server #8...

FPGA #1
FPGA #2
FPGA #3
FPGA #4
FPGA #5
FPGA #6

FPGA #15
FPGA #163mQSFP28
cables100GbE
スイッチ（Eth100g_16p）
100GbE
Switch or Ring network

CAD Server #1

Infiniband 100G Switch

10GBASE-SR

Frontend Server

10GBASE‐T Ethernet Switch

100G IB x 16

LCD, Keyboard switch

Existing machine(frontend)Managementnetwork

Inter-FPGA
Network
May 25, 2022

2種類のFPGA間ネットワーク

実際には 2 MAC / FPGA
Ethernet switch

FPGA

W

RTR

E

FPGA

MAC

MAC

MAC

FPGA

FPGA

FPGA

MAC

MAC

MAC

FPGA

FPGA

FPGA

直接網（1D トーラス）

間接網（100G Ethernet）
利点)

資源割り当ての柔軟性,最新技術への対応が容易⽋点) 資源割り当てに制約,⾃前の実装が必要（最新技術への対応コスト⼤）

⽋点)

Ethernet frameのオーバーヘッド（⾼遅延、遅延の変動）,フロー制御の問題,⾼性能スイッチは⾼価利点) オーバーヘッド⼩（低遅延、固定遅延）, 容易な利⽤

23

May 25, 2022

Ethernet上に仮想的な回線交換網を実現
 Inter-FPGA connection should also be flexible.

 VCSN: Virtualized circuit switching network
Ethernet switch

MAC

MAC

MAC

FPGA

FPGA

FPGA

Virtually-constructed Ring Topology

MAC

MAC

MAC

FPGA

FPGA

FPGA

100G Ethernet switchesPros) Flexibility, cutting-edge technologyCons) Overhead of ethernet frames, higher and variable latency, difficulty in flow-control and use
24

May 25, 2022

間接網に対する仮想回線交換⽅式（VCSN）の実装
Indirect network : 100G Ethernet
 Implementation completed, under verification(2, 4, and 8 virtual ports per Eth MAC)
 Higher throughput than Direct network
 Developing system software to manage VCSN

100G Ethernet SW

100G Ethernet SW25

26

May 25, 2022

FPGA直結網をサポートする
カスタム可能なFPGA上SoC

ネットワーク越しにFPGAを利⽤可とする遠隔化ドライバ

回路記述⾔語や⾼位合成など様々な実装⽅法に対応

相互利⽤を促進する
HW, SWシステムスタック

May 25, 2022

ネットワーク越しのFPGA利⽤

富岳計算ノード

FPGA カード

CPU・FPGAネットワーク• SoC (FIM, AFU Shell)• FPGAオブジェクトクラス• HLSコンパイラ / DSLによるプログラミング• 100Gbps Infiniband• ソフトウェアブリッジ化した ドライバ（R‐OPAE）
27

May 25, 2022

Remote-OPAE (ソフトウェアブリッジによる遠隔化)
インフィニバンドネットワーク越しに、遠隔のFPGAを利⽤可能
 Intel FPGA PAC のドライバ︓OPAE（ローカル） あたかもローカルデバイスのように
遠隔FPGAを利⽤可 空きFPGA資源を⾃由に利⽤可（= 運⽤の柔軟性）
 ベンダ⾮依存
異なるCPUアーキや環境からも利⽤可（= 可搬性・拡張性）
28

R-OPAE daemon
DMA Library
DMA APIR-OPAE C API

OPAE C API / DMA API

OPAE library

R-OPAE library

Verbs, RDMA

Enumeration

IB
EDR
100GAccessIntel FPGA drivers
FME driver

PORT/AFU driver

FPGA PCIe driverIntel FPGA

Host serverManagement

SGDMAsFPGA-gateway server (x86)
May 25, 2022

FPGA資源管理サービス
 R-OPAEと併せて資源分散(Resource disaggregation)を実現(1) Request FPGA resources(5) Release FPGA resourcesnode of existingmachineFPGA resource manager
Reconfigurablenetwork(2) Program circuit to FPGAs,
set up network

FPGA hostserver(3) Upload data to FPGA
DDR memory(4) Start task execution

FPGA hostserver

node of existingmachinenode of existingmachineFugakuFPGA hostserver
Software bridge（via Infiniband）

29

FPGA
FPGA
FPGA
FPGA
FPGA
FPGAESSPER
May 25, 2022

ESSPERによる研究事例30

May 25, 2022

on-going project

粗粒度再構成アレイCGRAの設計空間探索（理研）
HPC向け粗粒度再構成可能アレイ(CGRA)のFPGAエミュレータ / オーバーレイを開発
 理研 R-CCS プロセッサ研究チーム
 ASIC実装向けのCGRAについて設計空間を探索 複数FPGA実装でマルチチップ構成も評価
 FIFO, Mux, ALUなどのライブラリモジュールを組み合わせて、様々な構成を実装可

CGRAの全体構成（アレイサイズはパラメータにより可変）

 CGRAコンパイラも併せて研究開発（東⼤） OpenMPコードの⼀部をアレイに配置配線可
 ベンチマーク評価（Stencil, Convolution, FFT）

 初期実装完了（SystemVerilog）
 RTLシミュレーション検証済
 FPGAへ実装中

計算式のアレイへのマッピング例（16x16, 8x16）31

May 25, 2022

on-going project

CNN推論専⽤アーキテクチャReNA（熊本⼤学）
エッジ向け推論専⽤アーキテクチャReNAをASIC からESSPERに移植
 熊本⼤学

飯⽥教授らのグループ

 複数FPGAによる⾼スケーラブル推論が⽬標
 演算の並列化と専⽤ネットワーク接続を介したFPGA間通信

 64x64のシストリックアレイ

 積和演算器 x 642 = 8192 並列 畳み込み計算と全結合計算をのPBアレイへのマッピングを⼯夫
 回路を変更せずに様々なモデルに対応可能

 単⼀FPGA向け初期実装は完了
 Verilog HDL
32

ReNAのアーキテクチャ

May 25, 2022

on-going project

凸包⽣成専⽤アーキテクチャ（⻑崎⼤学）
点群データの凸包⽣成処理を複数FPGAで⾼速化 ⻑崎⼤学

柴⽥教授らのグループ

 凸包の応⽤分野 ドロネー図の構築/⾯積推定/レジストレーション/画像処理等
 物体の衝突検出 / ゲームの当たり判定
 経路計画における移動体と障害物の近似
 物理シミュレータ
 点群のリアルタイムレンダリング

凸包︓点集合を囲む最⼩の凸集合

 GPUよりも⾼スループット・低遅延のパイプライン処理
 初期実装完了（SystemVerilog）

 ソフトウェア実装Qhullとの性能⽐較

凸包⽣成
専⽤アーキ

33

May 25, 2022

on-going project

⾼位合成によるグラフ幅優先探索専⽤ハード（広島市⽴⼤学）
幅優先探索アクセラレータHyGTAを開発（Graph500）
 広島市⽴⼤学 ⾕川講師らのグループ

Topdown Hybrid Graph Traversal Accelerator

 Top-down と Bottom-up を組み合わせた
Hybrid Graph Traversalを⾼速化

 ⾼位合成で実装し、FPGA上で動作と評価
 別途アーキテクチャシミュレータを開発

Bottom-up

 パイプライン処理、遅延隠蔽、⾼効率メモリシステムを研究 幅優先探索パイプライン
 隣接節点キャッシュ マルチバンク ビットマップ （訪問済接点記録）
 幅優先探索特有のメモリ参照パタンを有効利⽤

Graph500のランキング（2021年11⽉ BFS）

34

RANK

MACHINE

SCALE

GTEPS

32

ENIAD （FPGA）

26

783.75

幅優先探索専⽤
アーキテクチャ HyGTA
May 25, 2022

on-going project

独⾃SYCLによるFPGAタスクオフロード（東北⼤学）
neoSYCL : SYCL実装の⼀つ
 東北⼤学 滝沢教授らのグループ
 NEC Vector Processor向け
 ESSPERのFPGA & AFUShell向けにもタスクオフロードやスケジューラを研究開発
 富岳からFPGAにオフロード可タスクグラフ

Source CodeneoSYCL
SX-AURORATSUBASAVEOIntel CPUs
NEC VEs

Any CPUs incl.
FugakuFPGA of AFUShell

35

複数コアとFPGAで分散実⾏した例

May 25, 2022

FPGAクラスタの今後の展望

36

May 25, 2022

HPC向けFPGAシステムの研究領域（プログラミング視点）
プログラミングの難易度と⾃由度特化型のハードを容易にプログラミング可能とする⽅式
Beginner

Ordinary users

Well-trained users

Python something,
Model-based

Master

EasyFew*!?#@^$$

DSL, HLS
OpenCL, SYCL

Unnecessary

Ninja

HDL, Chisel, etc.

P&R
Timing
SystemSiliconMastery

Hard

Knowledge of hardware / architecture

Must

Opportunities for acceleration / customization

A lot

37

May 25, 2022

おわりに本研究

スケーラブルかつ柔軟な⾼性能FPGAクラスタの概念実証システム ESSPER を開発

研究インフラ ESSPER が完成 ハードウェア記述⾔語 や ⾼位合成 によるハードウェア実装が可能
 富岳と接続され、富岳からFPGAを利⽤可（R-OPAE）
 様々な研究︓ CGRA, CNN, Convex, Graph, neoSYCL, etc.

今後の課題

 アプリ開発フローの⾃動化、ノウハウの蓄積（記述例） 複数FPGAのプログラミング⽅式、oneAPIの導⼊ システムソフト（CPU側と協調したタスクスケジューリング） ⾼性能アプリ開発（量⼦誤り訂正、ニアセンサ、他）

次世代FPGAクラスタ開発を計画中
38

カスタム可能システム
スタックが利⽤可 ハードウェア
 ソフトウェア

共同研究・産業連携を募集中
研究員も募集中︕
R-CCS2105 or
R-CCS2022
May 25, 2022