高性能計算技術と計算宇宙物理〜これまでとこれから〜
朴 泰祐
筑波大学 計算科学研究センター／システム情報系

1	

第27回理論懇シンポジウム	
2014/12/25	

Center for Computational Sciences, Univ. of Tsukuba

これまで〜計算宇宙物理学との共同研究〜

2	

第27回理論懇シンポジウム	
2014/12/25	

Center for Computational Sciences, Univ. of Tsukuba

計算宇宙物理学との出会い
出身は計算機科学n 故あって物理学科助手（慶應義塾大学理工学部）にn「計算物理学」がいろいろなサイトで始まっていたn 筑波大学で行われていたQCDPAXプロジェクトに外部協力nn

東大（当時）・杉本先生＋牧野さんとの出会い
GRAPE-1プロジェクトのお手伝い
GRAPE-1の設計回路のチェックn ラッピングボードとdiscrete ICを使った実装を紹介n ICの選択や配線等、計算機屋ではない研究者の発想に驚くn

3	

第27回理論懇シンポジウム	
2014/12/25	

Center for Computational Sciences, Univ. of Tsukuba

GRAPE-1プロジェクトnn

GRAPE-1 (’89) has a strange handling of values-> “something completely different!” (for me)
all the data (mass and coordinate) of particles (stars) are in“8-bit floating point”
SEXP	

MAN	

1b4b3b	-> without calculation (16bit ROM
table lookup instead of calculation)n
summation of force is storedin “48bit fixed point”n
it is enough for very densestar gravity calculationn
1000x faster than 16-bit processor

4	

第27回理論懇シンポジウム	
2014/12/25	

GRAPE-1 boad (from J. Makino’s library)	

Center for Computational Sciences, Univ. of Tsukuba

その後〜計算物理学者との本格共同研究へ
1992年から筑波大学講師に
n 計算物理学研究センターの発足・初期メンバーに（現在の計算科学研究センター）n 1992〜1997年：超並列計算機CP-PACSの開発に従事
特に超並列ネットワークの研究開発
n CP-PACSは1996年11月、2048 PEにより614GFLOPSを達成、TOP500 listで世界最高速計算機にn 主な大型アプリケーション：格子QCD、物性計算
n

5	

第27回理論懇シンポジウム	
2014/12/25	

Center for Computational Sciences, Univ. of Tsukuba

未来開拓プロジェクト
1999〜2001年：未来開拓学術研究推進事業研究プロジェクト（代表：岩崎洋一）
n 次世代超並列計算機システムの研究開発としてn

オンチップメモリに基づくアーキテクチャ SCIMAn 並列I/Oシステムn HMCS: Heterogeneous Multi-Computer Systemnn

HMCSでは輻射輸送問題と重力計算を複合的に処理する Heterogeneous Architecture を提案、実装
CP-PACSとGRAPE clusterを接続した超並列処理n その後、CP-PACSの代わりにPC Clusterを用いるシステムに発展n6	

第27回理論懇シンポジウム	
2014/12/25	

Center for Computational Sciences, Univ. of Tsukuba

ヘテロジニアス・マルチコンピュータのシステムイメージ

GRAPE
SystemMPP

SMP ParallelEngines

GraphicServerStorageServer

7	

第27回理論懇シンポジウム	
2014/12/25	

Center for Computational Sciences, Univ. of Tsukuba

Block Diagram of HMCS
PC-Cluster (Xeon dual)

MPP for Particle Simulation(GRAPE-6)

Parallel I/O System
PAVEMENT/PIO

32bit PCI
×N	…�100base-TX
Switches	呍呍呍呍呍呍Hybrid System
Communication Cluster(Compaq Alpha)Paralel File Server(SGI Origin2000)

Parallel VisualizationServer(SGI Onyx2)
8	

第27回理論懇シンポジウム	
2014/12/25	

Parallel Visualization System
PAVEMENT/VIZ
Center for Computational Sciences, Univ. of Tsukuba

HMCS-G: HMCS for Grid
HMCSは self-contained system だったが、全体の処理は輻射流体計算（PC Cluster側）が律速n GRAPE-6クラスタを有効利用するためにリモート環境からアクセスできるシステムを開発
HMCS for Grid (HMCS-G)n 筑波大で開発していたグリッド向けRPCである
OmniRPCを利用し、HMCSのGRAPEクラスタを共有可能にn

9	

第27回理論懇シンポジウム	
2014/12/25	

Center for Computational Sciences, Univ. of Tsukuba

Access to GRAPE-6 with OmniRPCn

Latency hiding
Remote client accesses GRAPE-6 server through OmniRPCAgent (stub)Ø The server handles clients in time-sharing mannerØ Narrow bandwidth between a client and the server
degrades the server throughputØ OmniRPC agent works as buffer to absorb thecommunication speed-gap
slow
fast
OmniRPC
RemoteBuffering
GRAPE-6
Agentclient
OmniRPC
serverBuffering
Agent
Remote(stub)
Local
clientGRAPE-6clientØ10	

第27回理論懇シンポジウム
2014/12/25

Center for Computational Sciences, Univ. of Tsukuba

I/O Phase of original HMCS
receiverequestINPUT1

Client A

INPUT2

Local
Calc.	OUTPUT

GRAPE-6

requestServer

INPUT1: basic parameters

INPUT2: particle info. (large)

Gravity Calculation
OUTPUT		: acceleration (large)GRAPE-6 server must wait for Client A’s calc.

Original GRAPE-6 Server
Phase Process

11	

Client B

第27回理論懇シンポジウム
2014/12/25

Client B must wait for it.

Center for Computational Sciences, Univ. of Tsukuba

12	

第27回理論懇シンポジウム
2014/12/25

Center for Computational Sciences, Univ. of Tsukuba

FIRSTHMCSの開発を経て、より大規模な輻射流体＋重力計算専用システムの開発へ
n HMCS-E: HMCS with Embedded acceleratorn 2004〜2009: FIRSTプロジェクト（代表：梅村雅之）
第一世代天体シミュレーションにより「宇宙のmissing linkを解明」
n

13	

第27回理論懇シンポジウム	
2014/12/25	

Center for Computational Sciences, Univ. of Tsukuba

Tree Requisite Calculations

Self-Gravity

Radiation Transfer

Hydrodynamics

Astrophysical Radiation Hydrodynamics
14

第27回理論懇シンポジウム
2014/12/25

Center for Computational Sciences, Univ. of Tsukuba

FIRST: HMCS-E Cluster
HMCS-E: Heterogeneous Multi-Computer System
in Embedded Type

Node Configuration
Multi-port
GbE NIC
CPU1

CPU2

Interconnection
Networkchipset
PCI-X bus

Blade-GRAPE

1st FIRST cluster constructed on March 2005
15

第27回理論懇シンポジウム
2014/12/25

Center for Computational Sciences, Univ. of Tsukuba

Blade GRAPE
Embedded Special Purpose Processor for Gravity
for FIRST ClusterØFull size PCI card requiring
2-PCI slotsØ10 layers in a board
Ø4 GRAPE6 chips= 136.8GFLOPSØelectric power of 54WØmemory of 16MB
（260K particles）
ØImplemented byHamamatsu Metrics Co.

16

第27回理論懇シンポジウム
2014/12/25

GRAPE6 chips×４	

heat-sink

Blade-GRAPE

Center for Computational Sciences, Univ. of Tsukuba

Blade GRAPE (contʼd)ØTwo 64bit/100MHz PCI slots are occupied (actually use onlyone connection)

17

第27回理論懇シンポジウム
2014/12/25

Center for Computational Sciences, Univ. of Tsukuba

1st version of FIRST Cluster
March 2005
16 node Cluster with Blade-GRAPE
Node: HP DL380G4 (dual Xeon, 3.4GHz)
Network: Gigabit Ethernet
RedHat Linux WS
Performance
Host = 217 Gflops
Blade GRAPE = 2.2 Tflops
Cooperation withHewlett Packard Japan
Hamamatsu Metrics Co.
Business Search Technology, Co.

18

第27回理論懇シンポジウム
2014/12/25

Center for Computational Sciences, Univ. of Tsukuba

Blade GRAPE X64 (newly developed in 2006)
64 bit PCI-X version

Cooperation
Hamamatsu Metrics Co.
K&F Computing Research Co.
19

第27回理論懇シンポジウム
2014/12/25

Center for Computational Sciences, Univ. of Tsukuba

Performance enhancement on Blade GRAPE
100%
98%

80%

60%

40%

20%

Particle # / board
20

第27回理論懇シンポジウム
2014/12/25

Center for Computational Sciences, Univ. of Tsukuba

FIRST at SC2006nn

Real-time demo of 4-node FIRST systemrunning in parallel
Courtesy of Hewlett Packard for providing
DL380 cluster

Center for Computational Sciences, Univ. of Tsukuba

Complete FIRST cluster system (March, 2007)

256 （16×16） nodes
496 CPU ＋16 Blade-GRAPE
224 Blade-GRAPE X64

2-15 thTotal Performance = 36.1 Tflops
Host 3.1 Tflops
Blade-GRAPE 33 Tflops
Total Memory = 1.6TB
first0101-1516: 6GB
first1601-1616: 10GB

1st system
22

第27回理論懇シンポジウム
2014/12/25

Total storage = 22TB (Gfarm)
first0101-1516: 72GB
first1601-1616: 292GB

Center for Computational Sciences, Univ. of Tsukuba

これから〜計算機科学と計算宇宙物理のコデザイン〜

23	

第27回理論懇シンポジウム	
2014/12/25	

Center for Computational Sciences, Univ. of Tsukuba

TOP500 List (Linpack: dense matrix equation solver)	
www.top500.org	

Sum. of #1～#500	

#500 machine	
#1 machine drops to #500	

24

第27回理論懇シンポジウム	
2014/12/25	

#1 machine	

Center for Computational Sciences, Univ. of Tsukuba

TOP10 machines in TOP500 (as on Nov. 2014)
MachineTianhe-2(MilkyWay-2)
Titan
Sequoia
K Computer
MiraPiz Daint
StampedeJUQUEEN
VulcanSuperMUC

25	

Architecture

Cluster (CPU +MIC)
MPP (Cray XK7:
CPU + GPU)MPP (IBMBlueGene/Q)
MPP (Fujitsu)
MPP (IBMBlueGene/Q)
MPP (Cray XC30:
CPU + GPU)
Cluster (CPU +MIC)
MPP (IBMBlueGene/Q)
MPP (IBMBlueGene/Q)
Cluster (CPUonly)

第27回理論懇シンポジウム	
2014/12/25	

Country

Rmax (GFLOPS)

Rpeak (GFLOPS)MFLOPS/W

China

33862700

54902400

1901.5

United States

17590000

271125502142.8

United States

17173224

20132659

2176.6

Japan

10510000

11280384

830.2

United States

8586612

10066330

2176.6

Switzerland

6271000

77888532697.2

United States

516811085201121145.9Germany

5008857

58720262176.8

United States4293306

50331652177.1

Germany

2897000

3185050846.4

Center for Computational Sciences, Univ. of Tsukuba

TOP10 machines in TOP500 (as on Nov. 2013)
MachineTianhe-2(MilkyWay-2)
Titan
Sequoia
K Computer
Mira
Piz Daint
Stampede
JUQUEEN
VulcanSuperMUC

26	

Architecture

Cluster (CPU +MIC)
MPP (Cray XK7:
CPU + GPU)MPP (IBMBlueGene/Q)
MPP (Fujitsu)
MPP (IBMBlueGene/Q)
MPP (Cray XC30:CPU + GPU)
Cluster (CPU +MIC)
MPP (IBMBlueGene/Q)MPP (IBMBlueGene/Q)
Cluster (CPUonly)

第27回理論懇シンポジウム	
2014/12/25	

Country

Rmax (GFLOPS)

Rpeak (GFLOPS)MFLOPS/W

China

33862700

54902400

1901.5

United States

17590000

271125502142.8

United States

17173224

20132659

2176.6

Japan

10510000

11280384

830.2

United States

8586612

10066330

2176.6

Switzerland

6271000

77888532697.2

United States

516811085201121145.9Germany

5008857

58720262176.8

United States4293306

50331652177.1

Germany

2897000

3185050846.4

Center for Computational Sciences, Univ. of Tsukuba

TOP10 machines in TOP500 (as on Nov. 2013)
MachineTianhe-2(MilkyWay-2)
Titan
Sequoia
K Computer
Mira
Piz Daint
Stampede
JUQUEEN
VulcanSuperMUC

27	

Architecture

Cluster (CPU +MIC)
MPP (Cray XK7:
CPU + GPU)MPP (IBMBlueGene/Q)
MPP (Fujitsu)
MPP (IBMBlueGene/Q)
MPP (Cray XC30:
CPU + GPU)
Cluster (CPU +MIC)
MPP (IBMBlueGene/Q)
MPP (IBMBlueGene/Q)
Cluster (CPUonly)

第27回理論懇シンポジウム	
2014/12/25	

Country

Rmax (GFLOPS)

Rpeak (GFLOPS)MFLOPS/W

China

33862700

54902400

1901.5

United States

17590000

271125502142.8

United States

17173224

20132659

2176.6

Japan1051000011280384

830.2

United States

8586612

10066330

2176.6

Switzerland

6271000

77888532697.2

United States

516811085201121145.9Germany

5008857

58720262176.8

United States4293306

50331652177.1

Germany

2897000

3185050846.4

Center for Computational Sciences, Univ. of Tsukuba

アクセラレータの役割・立場
GPU (esp. NVIDIA Kepler architecture) は限られた（狭いという意味ではなく）分野において強力な計算資源n MIC (Xeon Phi) はGPUよりも性能が落ちるが、はるかにプログラムしやすい（だけ？）
性能チューニングの努力はかなり必要n どちらも高メモリバンド幅
ただし：FLOPS当たりでは必ずしも超高速ではないn

n
n
n

CPU: Intel Xeon E5-2670v2 = 0.3 Byte/FLOP
GPU: NVIDIA K20X = 0.2 Byte/FLOP
MIC: Intel Xeon Phi 5110P = 0.3 Byte/FLOP ??

（超）高並列アプリにおいて電力当たり高性能28	

第27回理論懇シンポジウム	
2014/12/25	

Center for Computational Sciences, Univ. of Tsukuba

GPUで十分か？
今日のGPUはよくできていて effectiveness/cost とeffectiveness/power は非常に高い（ハマるアプリで）n しかし近い将来、GPUですら performance/power limitに直面すると予想される
n “straight forward computation” の限界
より効率的かつ “stoic” な計算が必要となるだろうn Reconfigurable computing
FPGAn

29	

第27回理論懇シンポジウム	
2014/12/25	

Center for Computational Sciences, Univ. of Tsukuba

CPU vs Special Purpose chip (in GRAPE)nCPUeasy programmingn cheap FLOPS andbandwidth by commodityn fixed format of valuen high power due tocomplicated control(branch pred., shadowreg., large cache, etc.)n

30	

第27回理論懇シンポジウム	
2014/12/25	

nSpecial chip (ASIC)
difficult to implementn high FLOPS but narrow
bandwidth (memory)n variable format of valuen low power to concentrate
to computation withsimple controlnCenter for Computational Sciences, Univ. of Tsukuba

What is CPU’s Achilles tendonn

Too generic and too clever to carry out all the programmedcodennnn

from “Windows” to “Linpack”
n
n

n

“latency core” – specially tuned for sequential code
fixed format of values – generic but redundant
high power consumption not just for calculation
not concentrated for calculation
floating point SIMD instruction saves partially

Can we reach to Exascale in 2020 ?
-> quite difficult

31	

第27回理論懇シンポジウム	
2014/12/25	

Center for Computational Sciences, Univ. of Tsukuba

What is FPGA’s Achilles tendon (for HPC)n

Slow frequency
absolute performance on “regular format” of calculation is weaker thanCPU anymoren difficult to fully tune the systemnn

Memorynn

not so strong for memory bandwidth (inside/outside)small storage (SRAM or register) on chip

Hard to program/implementn It is difficult to overcome CPU in conventional way,
so how to do it ?
n32	

第27回理論懇シンポジウム	
2014/12/25	

Center for Computational Sciences, Univ. of Tsukuba

Key Word: Co-Design
Definition of co-design in HPC (by DOE Co-design Center)n “Co-design refers to a computer system design process
where scientific problem requirements influence architecture
design and technology and constraints inform formulationand design of algorithms and software.”n Three Co-Design Centersn

Exascale Co-Design Center for Materials in Extreme Environments(ExMatEx): LANL, LLNL, ORNL, SNL, Stanford, CalTechn Center for Exascale Simulation of Advanced Reactors (CESAR):
ANL, U. Chicagon Center for Exascale Simulation of Combustion in Turbulence (ExaCT):
LBNL, LLNL, ORNL, LANL, SNLn

33	

第27回理論懇シンポジウム	
2014/12/25	

Center for Computational Sciences, Univ. of Tsukuba

FPGA - more aggressive player in co-design
Co-design は「ほどよいハードとソフトの妥協点を探す」ことn 現時点で Co-design は general architecture を基本としている
n FPGA は本来 Co-design そのものnnnn

application specificapplication is limited
all the design parameters follow the application requirement

一部の HPC アプリは Co-design コンセプトの下でうまく FPGAを活用できるはずn 闇雲に（straight forward）やってもだめ
計算や通信の一部で、かつ性能 critical な部分にFPGAを使うn34	

第27回理論懇シンポジウム	
2014/12/25	

Center for Computational Sciences, Univ. of Tsukuba

TCA (Tightly Coupled Accelerators) Architecture
True GPU-directn

current GPU clusters require 3hop communication (3-5 timesmemory copy)
For strong scaling, inter-GPU
direct communication protocol
is needed for lower latency andhigher throughputnnPCIe	 PCIe	IBCPU	HCA	n

PEACH2(PCI Express AdvancedCommunication Hub ver.2)

Node	Node	PCIe	MEM	GPU	CPU	PEAC
H2	PCIe	GPU	MEM	IBSwitch	

PCIe	

IBHCA	

PCIe	

CPU	

PCIe	MEM	

35	

PCIe	

第27回理論懇シンポジウム	
2014/12/25	

GPU	CPU	

PCIe	PEAC
H2	

PCIe	

GPU	MEM	

Center for Computational Sciences, Univ. of Tsukuba

TCA test-bed node structurenn

CPU can uniformly accessto GPUs.
PEACH2 can access everyGPUsnnnKepler architecture +CUDA 5.0 “GPUDirect
Support for RDMA”
Performance over QPI isquite bad.
=> support only fortwo GPUs on the same
socketConnect among 3 nodesnThis configuration is similar to HA-PACS basecluster except PEACH2.
n
All the PCIe lanes (80 lanes) embedded inCPUs are used.
CPU(Xeon E5v2)	
G2x8	

G2x8	
G2x8	

PEAC
H2	QPI	

CPU(Xeon E5v2)	

G2x16	

G2
PCIe	x16	

G2x16	

G2x16	

K20X	

K20X	

K20X	

K20X	

G3x8	

IB
HCA	

G2x8	

第27回理論懇シンポジウム	
36	

2014/12/25	

Center for Computational Sciences, Univ. of Tsukuba

PEACH2 boardn

PCI Express Gen2 x8 peripheral boardnCompatible with PCIe Spec.

Side View	

37	

第27回理論懇シンポジウム	
2014/12/25	

Top View	

Center for Computational Sciences, Univ. of Tsukuba

PEACH2 board
Main board+ sub board	

FPGA(Altera Stratix IV530GX)	

PCI Express x8 card edge	

Most part operates at 250 MHz(PCIe Gen2 logic runs at 250MHz)	

DDR3SDRAM	

Power supplyfor various voltage	

PCIe x16 cable connecter	
PCIe x8 cable connecter	38	

第27回理論懇シンポジウム	
2014/12/25	

Center for Computational Sciences, Univ. of Tsukuba

HA-PACS/TCAnnPractical test-bed for TCA architecture with advanced GPU clustercomputation node with PEACH2 board and its network
HA-PACS (Highly Accelerated Parallel Advanced System for ComputationalSciences) projectnnnnBase cluster part with 268 nodesnnn

Three year project for 2011-2013
Base cluster with commodity GPU cluster technology
TCA part for advanced experiment on TCA and PEACH2Intel SandyBridge CPU x 2 + NVIDIA M2090 (Fermi) x 4
dual rail InfiniBand QDRTCA part with 64 nodesnn

39	Intel IvyBridge CPU x 2 + NVIDIA K20X (Kepler) x 4
PEACH2 board is installed to all nodes and connected by its network(additionally to original InfiniBand QDR x 2)

第27回理論懇シンポジウム	
2014/12/25	

Center for Computational Sciences, Univ. of Tsukuba

HA-PACS Base Cluster + TCA(TCA part starts operation on Nov. 1st 2013）

BaseCluster	TCA	••••40	

HA-PACS Base Cluster = 2.99 TFlops x 268 node = 802 TFlops
HA-PACS/TCA = 5.69 TFlops x 64 node = 364 TFlops
TOTAL: 1.166 PFlops
TCA part (individually) ranked as #3 in Green500, Nov. 2013	
第27回理論懇シンポジウム	
2014/12/25	

Center for Computational Sciences, Univ. of Tsukuba

HA-PACS/TCA computation node inside

41	

第27回理論懇シンポジウム	
2014/12/25	

Center for Computational Sciences, Univ. of Tsukuba

How FPGA plays on TCA ?
nCommunication glue to control PCIe without media conversion(not using InfiniBand)nnn

All the accelerators today rely on PCIe to connect to host CPU
Overhead is minimized with PCIe communication only

Off-loading several features not just for computation
Collective communication (with multiple nodes) with partial computationex) global sumn Application specific computation around data communication withoutinvoking CPU or GPU computingnnOn strong-scaling problem, latency on node-node and CPU-GPU
is crucial, and there are many of computation related to(surrounded by) communication exist42	

第27回理論懇シンポジウム	
2014/12/25	Center for Computational Sciences, Univ. of Tsukuba

TCA communication + offload image
offloaded logic engine	
calc	
PCIe
ext. link	

GPU	PCIe interface+ switching+ logic	

PEACH2	43	

第27回理論懇シンポジウム	
2014/12/25	

PCIe switch	calc	

GPU	CPU	
TCA/PEACH2 detail is shown in talk by Y. Kodama
and demonstration by H. Amano’s group at HEART2014	

Center for Computational Sciences, Univ. of Tsukuba

Collisionless N-body problemn

粒子どうしに働く自己重力による系の時間進化を，運動方程式に基づいて計算
O(N)のデータ量2n O(N )の重力計算n O(N)の時間積分nn

代表的な高速化手法
Tree 法（多重極展開）: 計算量を O(Ni log Nj) にn 独立時間刻み: 軌道積分の量を減らす（Ni を削減）
n 演算加速器（GRAPE, GPU etc.）の使用
n

Center for Computational Sciences, Univ. of Tsukuba

並列 Tree code における通信n

領域分割の下では他プロセスのj-粒子分布も必要
遠方の領域については，詳細な粒子分布は不要n Locally Essential Tree （LET: 間引き Tree）を作る
n 全プロセス間で，LETを作成・交換しながら重力計算nn

FPGA にLET作成を担当させる
LET作成と通信はセットで行う処理n LET作成は，GPU向きではないn GPUは tree walk に集中できるn 余分な CPU-GPU 通信を削除（CPU が LET を作る場合）
n

Warren & Salmon(1992)	

Center for Computational Sciences, Univ. of Tsukuba

まとめ
計算宇宙物理では一般的なアプリケーションに比べFPGA等の
aggressive co-design 手法を適用できる部分が大きいn HPC iは必ずしも double precision だけの世界でなく、様々な演算精度を適材適所で用いることにより、メモリ量・演算時間・通信バンド幅を大幅に削減できるn 限られた電力で計算を実行するには hardware/software の stoicな関係、つまり Co-design が必要
n 計算宇宙物理学は、これまでも計算機科学と計算科学の融合がなされてきた重要な分野
n Exascale (とそれを越える）計算の最初のアプリ・成果を共に目指しましょう！
n

46	

第27回理論懇シンポジウム	
2014/12/25	

Center for Computational Sciences, Univ. of Tsukuba