SS研HPCフォーラム2004

2004/10/08

HPCアーキテクチャの今後
村上和彰
九州大学 教授
情報基盤センター長

1

HPCアーキテクチャの過去の推移• 名称の推移– Scientific computer– Supercomputer– HPC (High-performance computer/computing)– HEC (High-end computer/computing)• ３つの視点から見た推移– 商用コンピュータとのせめぎ合い– 新規性／独創性と安定性／連続性との間のせめぎ合い– プロセッサとメモリとの間の性能トレードオフ
2

1-1

SS研HPCフォーラム2004

2004/10/08

商用コンピュータとのせめぎ合い～HPC業界におけるMakimoto’s Wave～
科学技術 計算 指 向黎明期（BC: Before Cray-I）

スパコンの時代
PCクラスタスパコン元年

ENIAC (1946) IBM Stretch(1959)
IBM701 (1953)

CDC6600(1964)の時代

Cray I (1976)

FACOM
230-75APUILLIAC IV (1976)(1966)

1976
19462006

1961

商用 指 向

FACOM
230-60IBM S/360 (1968)(1964)UNIVAC I (1951)

IBM S/370(1970)

1991

Intel 4004
(1971)
FACOM
M190(1975)？

NEC SX
Cray XMP
Beowulf(1985)(1982)(1994) ES (2002)
FACOM VP CM-2 NWT(1982)(1987) (1992)

Intel 386 (1985)?

IBM PC (1981)
Intel Pentium (1993)

汎用計算機

テクノロジ・ドライバ

PC&LAN
携帯電話／情報端末

3

商用コンピュータとのせめぎ合い～ビジネス・モデルの視点から～テクノロジ・ドライバ
HPCマシン• スパコン時代（1980～1990中）– 集積回路技術– 実装技術– コンパイラ技術

汎用大型計算機

技術移転• PCクラスタ時代（1990中～現在）– 高性能汎用マイクロプロセッサ製品移転– 高集積メモリ– 高速インターコネクト

PC&LAN

• 将来？

41-2

SS研HPCフォーラム2004

2004/10/08

新規性／独創性と安定性／連続性との間のせめぎ合い
ベクトル・マシンの時代
新規性／ 独創 性 指向

マルチ・スカラ・マシンの時代
PCクラスタの時代

ベクトル・アーキテクチャ(Cray, 1976～)

安定性／連続性指向1976

MPP(nCUBE, 1985)(CM-2, 1987)

1982
自動ベクトル化
コンパイラ(F/N/H, 1982～)

2008
2000

1994

1988

MPI (1995) OpenMP (1997)

PVM (1990)?

PCクラスタ(Beowulf, 1994～)• ベクトル・アーキテクチャ：自動ベクトル化コンパイラの成功でコモディティに！
• MPP：非標準通信ライブラリを用いたインターコネクト・ネットワーク・トポロジーに依存したプログラミング→普及できずに消滅！
5プロセッサとメモリとの間の性能トレードオフ
CISCの時代
プロセッサ性能優位

RISCの時代

μアーキの時代CISC

Cray I(83MHz, 166MFlop/s,640MB/s,1976)

ES AP
Intel Pentium(1GHz, 8GFlop/s,(100MHz, 1994) Intel P-III(1GHz, 2000) 32GB/s, 2002)

1990
1975

メモリ性能優位

オンチップ
RISC-I
キャッシュ(1MHz, 1982)(Intel 486, 1989)
MIPS R2000(12MHz, 1986)?

Intel P4
(3.6GHz, 8.6GB/s,2004)2005
Rambus DRAM
(1GB/s, 1995)
Memory Wall Problem(M. Wilkes, 1995)• メモリ（DRAM）性能：RISCおよびオンチップキャッシュが登場した1980年代のピークを境に，プロセッ
サ性能からの乖離が深刻化– そもそもRISCは「プロセッサ性能＝メモリ性能」を前提としたアーキテクチャ• 今や命令セットアーキテクチャ（CISC vs. RISC）の時代ではなく，マイクロアーキテクチャ（OOOスーパースカラ，ディープパイプライン，SMT，等）の時代– 唯一の例外は，SIMD演算命令の成功

61-3

SS研HPCフォーラム2004

2004/10/08

そもそもHPCアーキテクチャに対する要件は何なのか？
対Non-HPC
プロセッサ演算• 整数論理演算中心

対HPC• 浮動小数点演算中心– （単精度はもちろん）倍精度，４倍精度– （実数に加えて）複素数– 四則演算に加えて初等関数などの特殊演算

制御
メモリ

通信

• IF文

• ループ構造• Pointer chasing• Garbage collection• 大規模配列アクセス• 同期• 排他制御• p-to-p通信（大量データ転送）• Collective通信– 連続アクセス– ストライド・アクセス– 間接参照（リスト・アクセス）– バリア同期– リダクション

1op : 1B/s : 1bps

黄金律

1Flop : 4B/s : 4bps
7

これらの要件に関して従来のHPCマシンはどう応えたか？
要件
プロセッサ演算• 浮動小数点演算中心– （単精度はもちろん）倍精度，４倍精度– （実数に加えて）複素数– 四則演算に加えて初等関数などの特殊演算

制御
メモリ• ループ構造• 大規模配列アクセス– 連続アクセス– ストライド・アクセス– 間接参照（リスト・アクセス）通信• p-to-p通信（大量データ転送）• Collective通信– バリア同期– リダクション

黄金律

1Flop : 4B/s : 4bps

ベクトル・マシン• ベクトル演算命令–倍精度浮動小数点データを主対象とした四則演算–さらに，平方根などの特殊演算もサポート–副作用として，命令供給ボト
ルネックを解消• ベクトル・レジスタ＋ベクト
ル・ロード／ストア命令– リスト・ベクトル・サポート

PCクラスタ• 高性能汎用マイクロプロセッ
サ– 浮動小数点四則演算ユニッ
ト（倍精度サポート）– SIMD演算命令を追加して短ベクトル演算をサポート• 分岐予測，OOO実行による制御依存ペナルティの隠蔽• 大容量キャッシュ・メモリ
– ノンブロッキング– 多階層（L1～L3）• マルチバンク＆インターリー
ブ・メモリ• HW/SWプリフェッチ機能• クロスバー・ネットワーク等の非（低）閉塞網による低レイテンシ＆高スループット通信• バリア同期，collective通信専用の別ネットワーク装備• Myrinet等の高スループット＆低レイテンシ網（ただし，閉塞網）による階層バス構造• ES) 1Flop:4B/s:3bps• P4) 1Flop:2.4B/s:?
81-4

SS研HPCフォーラム2004

2004/10/08

ベクトル・プロセッサ vs.
スカラ・プロセッサ• スカラ・プロセッサ• ベクトル・プロセッサ
VFU

FPU

ORN

:::

FRLSU

VR
...

::

VLSU

IMBM
:DC:::::::::
LM

IMBM: Interleaved Multi-Bank Memory
ORN: Operand Routing Network
VFU: Vector Functional UnitCRC

VLSU: Vector Load/Store Unit
VR: Vector Register

CR: Cache Refill Controller
DC: Data Cache
FR: Floating-point Register
FPU: Floating-point Processing Unit
LM: Linear Memory
LSU: Load/Store Unit

9

2010年のHPCアーキテクチャは？
～前提／制約条件～• ビジネス的に成り立たなければならない– 何をテクノロジ・ドライバとするか？

• ソフトウェア開発者に対して，現在の「安定性／連続性」を引き続き保証しなければならない– MPPの時のような「フィーバー」はもう懲り懲り• （45nmまで）CMOSのクロック速度の伸びは鈍化するものの，集積度の伸びはまだまだ堅調– クロック速度の伸びに頼るのではなく，トランジスタ・バジェットに頼る• トランジスタ・バジェットを如何に性能に還元するか？

– 「Memory Wall」問題はさらに深刻化• メモリ・アクセスするより（無駄な計算でも）計算した方が良い!

– 消費電力＆発熱問題も同様に深刻化

101-5

SS研HPCフォーラム2004

2004/10/08

HPCアーキに対する要件に関して2010年のHPCマシンはどう応えるか？
要件
プロセッサ

• 浮動小数点演算中心演算– （単精度はもちろん）倍精度，４倍精度– （実数に加えて）複素数– 四則演算に加えて初等関数などの特殊演算

制御

メモリ

2010年のHPCマシン（私案）• 高性能汎用マイクロプロセッ
サ• 高性能＆低消費電力組込みプロセッサ• 動的再構成可能データパス–浮動小数点四則演算ユニッ
ト（倍精度サポート）–SIMD演算命令を追加して短ベクトル演算をサポート• ループ構造• 分岐予測，OOO実行による制御依存ペナルティの隠蔽• 大規模配列アクセス• 大容量キャッシュ・メモリ

– 連続アクセス– ストライド・アクセス– 間接参照（リスト・アクセス）• p-to-p通信（大量データ転送）• Collective通信

通信

2004年のPCクラスタ– バリア同期– リダクション– ノンブロッキング– 多階層（L1～L3）• 大容量キャッシュ・メモリ
• メモリ・アクセス・ヘルパー– プリフェッチ機能– データ・ストリーミング機能– 「ならず者」ロード対策• HW/SWプリフェッチ機能• Myrinet等の高スループット＆低レイテンシ網（ただし，閉塞網）による階層バス構
造• Myrinet等の高スループット＆低レイテンシ網（ただし，閉塞網）による階層バス構造• NIC／スイッチでcollective通信
サポート• 1Flop:1B/s:1bps

1Flop : 4B/s : 4bps

黄金律

– ２次元ALUアレイで浮動小数点四則演算（倍精度，４倍精度，複素数）を実現– ループボディのデータフローをデータパス（HW）として直接実装– ストリーミング・データ供給– 結果的に，命令＆データ供給ボトルネックを解消

11スカラ・プロセッサ vs.
動的再構成可能データパス• スカラ・プロセッサ• 動的再構成可能データパス
ORN

FPU

...

IFU
ORN
::LSU

::

FR

...
ORN
...

:
ORN

:
DC:
LM

CRC

CRC: Cache Refill Controller
DC: Data Cache
FR: Floating-point Register
FPU: Floating-point Processing Unit
IFU: Integer Functional Unit
LM: Linear Memory
LSU: Load/Store UnitLM
ORN: Operand Routing Network
SB: Steaming Buffer
SMAC: Streaming Memory Access Controller

SB:::...

::SMAC

121-6SS研HPCフォーラム2004

2004/10/08

動的再構成可能データパスの応用例～分子軌道法における二電子積分計算 ( µν || λσ ) の場合～
tei(4,4,4,4)=(((3+2*p*(4*PAx*PBx+PBx**2+PAx**2*(1+2*p*PBx**2)))*(3+2*q*(4*QCx*QDx+QDx**2+QCx**2*(1+2*q*QDx**2)))*f(0,t))/(p**2*q**2)+(4*(3+2*p*(4*PAx*PBx+PBx**2+PAx**2*(1+2*p*PBx**2)))*PQx*(QCx+QDx)*(3+2*q*QCx*QDx)*f(1,t))/(p*q*(p+q))(4*(PAx+PBx)*(3+2*p*PAx*PBx)*PQx*(3+2*q*(4*QCx*QDx+QDx**2+QCx**2*(1+2*q*QDx**2)))*f(1,t))/(p*q*(p+q))(8*(PAx+PBx)*(3+2*p*PAx*PBx)*(QCx+QDx)*(3+2*q*QCx*QDx)*(((p+q)*f(1,t))+2*p*PQx**2*q*f(2,t)))/(p*q*(p+q)**2)+(2*(3+2*p*(4*PAx*PBx+PBx**2+PAx**2*(1+2*p*PBx**2)))*(3+q*(QCx**
2+4*QCx*QDx+QDx**2))*(((p+q)*f(1,t))+2*p*PQx**2*q*f(2,t)))/(p*q**2*(p+q)**2)+(2*(3+p*(PAx**2+4*PAx*PBx+PBx**2))*(3+2*q*(4*QCx*QDx+QDx**2+QCx**2*(1+2*q*QDx**2)))*(((p+q)*f(1,t))+2*p*PQx**2*q*f(2,t)))/(p**2*q*(p+q)**2)+(4*(3+2*p*(4*PAx*PBx+PBx**2+PAx**2*(1+2*p*PBx**2)))*PQx*(QCx+QDx)*(3*(p+q)*f(2,t)+2*p*PQx**2*q*f(3,t)))/(q*(p+q)**3)¥+(8*(3+p*(PAx**2+4*PAx*PBx+PBx**2))*PQx*(QCx+QDx)*(3+2*q*QCx*QDx)*(3*(p+q)*f(2,t)+2*p*PQx**2*q*f(3,t)))/(p*(p+q)**3)(8*(PAx+PBx)*(3+2*p*PAx*PBx)*PQx*(3+q*(QCx**2+4*QCx*QDx+QDx**2))*(3*(p+q)*f(2,t)+2*p*PQx**2*q*f(3,t)))/(q*(p+q)**3)(4*(PAx+PBx)*PQx*(3+2*q*(4*QCx*QDx+QDx**2+QCx**2*(1+2*q*QDx**2)))*(3*(p+q)*f(2,t)+2*p*PQx**2*q*f(3,t)))/(p*(p+q)**3)+((3+2*p*(4*PAx*PBx+PBx**2+PAx**2*(1+2*p*PBx**2)))*(3*(p+q)**2*f(2,t)+4*p*PQx**2*q*(3*(p+q)*f(3,t)+p*PQx**2*q*f(4,t))))/(q**2*(p+q)**4)(8*(PAx+PBx)*(3+2*p*PAx*PBx)*(QCx+QDx)*(3*(p+q)**2*f(2,t)+4*p*PQx**2*q*(3*(p+q)*f(3,t)+p*PQx**2*q*f(4,t))))/(q*(p+q)**4)(8*(PAx+PBx)*(QCx+QDx)*(3+2*q*QCx*QDx)*(3*(p+q)**2*f(2,t)+4*p*PQx**2*q*(3*(p+q)*f(3,t)+p*PQx**2*q*f(4,t))))/(p*(p+q)**4)+(4*(3+p*(PAx**2+4*PAx*PBx+PBx**2))*(3+q*(QCx**2+4*QCx*QDx+QDx**2))*(3*(p+q)**2*f(2,t)+4*p*PQx**2*q*(3*(p+q)*f(3,t)+p*PQx**2*q*f(4,t))))/(p*q*(p+q)**4)+((3+2*q*(4*QCx*QDx+QDx**2+QCx**2*(1+2*q*QDx**2)))*(3*(p+q)**2*f(2,t)+4*p*PQx**2*q*(3*(p+q)*f(3,t)+p*
PQx**2*q*f(4,t))))/(p**2*(p+q)**4)(4*p*(PAx+PBx)*(3+2*p*PAx*PBx)*PQx*(15*(p+q)**2*f(3,t)+4*p*PQx**2*q*(5*(p+q)*f(4,t)+p*PQx**2*q*f(5,t))))/(q*(p+q)**5)+(8*(3+p*(PAx**2+4*PAx*PBx+PBx**2))*PQx*(QCx+QDx)*(15*(p+q)**2*f(3,t)+4*p*PQx**2*q*(5*(p+q)*f(4,t)+p*PQx**2*q*f(5,t))))/(p+q)**5+(4*PQx*q*(QCx+QDx)*(3+2*q*QCx*QDx)*(15*(p+q)**2*f(3,t)+4*p*PQx**2*q*(5*(p+q)*f(4,t)+p*PQx**2*q*f(5,t))))/(p*(p+q)**5)(8*(PAx+PBx)*PQx*(3+q*(QCx**2+4*QCx*QDx+QDx**2))*(15*(p+q)**2*f(3,t)+4*p*PQx**2*q*(5*(p+q)*f(4,t)+p*PQx**2*q*f(5,t))))/(p+q)**5+(8*(PAx+PBx)*(QCx+QDx)*(15*(p+q)**3*f(3,t)+30*p*PQx**2*q*(p+q)*(3*(p+q)*f(4,t)+2*p*PQx**2*q*f(5,t))8*p**3*PQx**6*q**3*f(6,t)))/(p+q)**6+(2*(3+p*(PAx**2+4*PAx*PBx+PBx**2))*(15*(p+q)**3*f(3,t)30*p*PQx**2*q*(p+q)*(3*(p+q)*f(4,t)+2*p*PQx**2*q*f(5,t))+8*p**3*PQx**6*q**3*f(6,t)))/(q*(p+q)**6)+(2*(3+q*(QCx**2+4*QCx*QDx+QDx**2))*(15*(p+q)**3*f(3,t)30*p*PQx**2*q*(p+q)*(3*(p+q)*f(4,t)+2*p*PQx**2*q*f(5,t))+8*p**3*P
Qx**6*q**3*f(6,t)))/(p*(p+q)**6)

Î 787 MUL, 261 ADD, 69 FUNC
tei(3,1,1,1)=((PAy*(1+2*p*PAx*PBx)*(1+2*q*QCx*QDx)*f(0,t))/q+((((p+q)**4*((PAy+PQy)*q*(1+2*q*QCx*QDx)+p*(PAy+2*PAx*PAy*PQx*q+2*PAy*P
Bx*PQx*q+2*PAx*PBx*PQy*q2*PAx*PAy*q*QCx2*PAy*PBx*q*QCx2*PAy*PQx*q*QCx+2*q*((PAy*(PAx+PBx+PQx))+2*(PAy*(PAx+PBx)*PQx+PAx*P
Bx*PQy)*q*QCx)*QDx)2*p**2*PAx*PAy*PBx*(1+2*PQx*q*(QCx+QDx)))*f(1,t))/q)+(p+q)*((p+q)*((p+q)*(3*p*PAy+6*p**2*PAx*PAy*PQx+6*p**2*PAy*
PBx*PQx+2*p**2*PAy*PQx**2+4*p**3*PAx*PAy*PBx*PQx**2+p*PQy+2*p**2*PAx*PBx*PQy+2*p*PAy*PQx**2*q+PQy*q+2*p*PAx*PQx*PQy*q

Î 116 MUL, 31 ADD, 2 FUNC
【出典：青柳 睦 教授（九大）】

13

HPCアーキに対する要件に関して2010年のHPCマシンはどう応えるか？
要件
プロセッサ演算４倍精度– （実数に加えて）複素数– 四則演算に加えて初等関数などの特殊演算

制御

メモリ

• 分岐予測，OOO実行による制御依存ペナルティの隠蔽• 大規模配列アクセス• 大容量キャッシュ・メモリ

• p-to-p通信（大量データ転送）• Collective通信– バリア同期– リダクション

黄金律–浮動小数点四則演算ユニッ
ト（倍精度サポート）–SIMD演算命令を追加して短ベクトル演算をサポート• ループ構造– 連続アクセス– ストライド・アクセス– 間接参照（リスト・アクセス）通信

2004年のPCクラスタ

2010年のHPCマシン（私案）• 高性能汎用マイクロプロセッ • 高性能＆低消費電力組込みプ
ロセッササ– （単精度はもちろん）倍精度，• 浮動小数点演算中心

1Flop : 4B/s : 4bps

– ノンブロッキング– 多階層（L1～L3）• HW/SWプリフェッチ機能• Myrinet等の高スループット＆低レイテンシ網（ただし，閉塞網）による階層バス構
造• 動的再構成可能データパス– ２次元ALUアレイで浮動小数点四則演算（倍精度，４倍精度，複素数）を実現– ループボディのデータフローをデータパス（HW）として直接実装– ストリーミング・データ供給– 結果的に，命令＆データ供給ボトルネックを解消• 大容量キャッシュ・メモリ
• メモリ・アクセス・ヘルパー– プリフェッチ機能– データ・ストリーミング機能– 「ならず者」ロード対策• Myrinet等の高スループット＆低レイテンシ網（ただし，閉塞網）による階層バス構造• NIC／スイッチでcollective通信サポート• 1Flop:1B/s:1bps
14

1-7

SS研HPCフォーラム2004

2004/10/08「Memory Wall」問題
マイクロプロセッサ

105vs. DRAM

性能向上率

性能向上率の差 48%/年

104
103

マイクロプロセッサ
55%/年

102
101
1
1980

1990

2000

主記憶(DRAM)7%/年【出典】J.L. Hennessy, D.A. Patterson, Computer Architecture: A Quantitative Approach 3rd Edition, Fig. 5.2

2005
年

15

「Memory Wall」問題への対策• ２重の問題：スループットとレイテンシ• 抜本的解決策– プロセッサ-DRAM混載• PPRAM, IRAM, PIM, ...
• しかし，容量不足でオフチップメモリ・アクセスが生じる際には解にならず• スループット対策– スループット向上• ハイバンドDRAM：Rambus DRAM, SDRAM, ...
• データ・ストリーミング• レイテンシ対策

キャッシュミス率の低減が鍵!

– （見た目の）レイテンシ削減• キャッシュメモリ，プリフェッチ，…

– レイテンシ隠蔽• ノンブロッキング・キャッシュ，マルチスレッディング，…

161-82004/10/08
SS研HPCフォーラム2004「ならず者」ロード命令の存在～キャッシュメモリの仇～
97.7%

22.5%
i300
i255

i256
19.6%
i253
i181
i175

51.1%
7.3%
23.3%
i176

i197
23.4%
68.8%
i164
f301
f188
f183
f179
f177

整数演算
ベンチマーク
浮動小数点演算ベンチマーク

78.9%
91.8%
93.2%

7.3%

2.9%

16.8%

0.9%

8.9%

3.2%

2.0%

i175

i176

i181

i197

i253

i255

i256

i300

i164

f301

f188

f183

f179

f177

f171

f173

0.0%

f168

3.2%

0.7%

7.0%

40.0%

44.2%

0.0%

整数演算
ベンチマーク

浮動小数点演算ベンチマーク

67.2%

15.7%
32.7%

f173
f171

100%

92.7%

50%

99.4%

60.0%
1.6%

f168

50%

性能向上率

0%

0.2%

0%

98.3%

10

ワースト のならず者ロード命令が占めるレベル２キャッシュミスの割合

100%

17
SPEC CPU 2000 benchmarks on Simplescalar 3.0d. (50M Forward, 10M Exec, L1=32k, L2=128k.)

メモリ・アクセス・ヘルパー～「ならず者」ロード命令を退治出来たら～

18

1-9

SS研HPCフォーラム2004

2004/10/08

CCC (Computing Centric Computation)～RC (Re-Computation)～
プログラムコード アセンブリコード
c = a + b;

Load aLoad b
Add c, a, bStore cキャッシュミスを多発→「ならず者」ロード命令...
Load cLoad x
Add z, x, cStore z

値cを再利用RC コードを動的に生成

Load aLoad b
Add c, a, b‘Load c’ をRC コードで置換！

CCC 適用コード
Load aLoad b
Add c, a, bStore c...

...
z = x + c;

(動的生成)[RCコード]Load x
Add z, x, cStore z19

HPCアーキに対する要件に関して2010年のHPCマシンはどう応えるか？
要件
プロセッサ演算４倍精度– （実数に加えて）複素数– 四則演算に加えて初等関数などの特殊演算

制御

メモリ

• 分岐予測，OOO実行による制御依存ペナルティの隠蔽• 大規模配列アクセス• 大容量キャッシュ・メモリ

• p-to-p通信（大量データ転送）• Collective通信– バリア同期– リダクション

黄金律–浮動小数点四則演算ユニッ
ト（倍精度サポート）–SIMD演算命令を追加して短ベクトル演算をサポート• ループ構造– 連続アクセス– ストライド・アクセス– 間接参照（リスト・アクセス）通信

2004年のPCクラスタ

2010年のHPCマシン（私案）• 高性能汎用マイクロプロセッ • 高性能＆低消費電力組込みプ
ロセッササ– （単精度はもちろん）倍精度，• 浮動小数点演算中心

1Flop : 4B/s : 4bps

– ノンブロッキング– 多階層（L1～L3）• HW/SWプリフェッチ機能• Myrinet等の高スループット＆低レイテンシ網（ただし，閉塞網）による階層バス構
造• 動的再構成可能データパス– ２次元ALUアレイで浮動小数点四則演算（倍精度，４倍精度，複素数）を実現– ループボディのデータフローをデータパス（HW）として直接実装– ストリーミング・データ供給– 結果的に，命令＆データ供給ボトルネックを解消• 大容量キャッシュ・メモリ
• メモリ・アクセス・ヘルパー– プリフェッチ機能– データ・ストリーミング機能– 「ならず者」ロード対策• Myrinet等の高スループット＆低レイテンシ網（ただし，閉塞網）による階層バス構造• NIC／スイッチでcollective通信サポート• 1Flop:1B/s:1bps
20

1 - 10SS研HPCフォーラム2004

2004/10/08

MPI Collective通信のオフローディング• NIC (Network I/F Card)／スイッチ上でcollective通信サポート– 通信コストの低減– CPUやメモリバスの有効利用
総和計算

CPUCPU

CPU

NIC

NIC

NIC

CPUCPU
結果
総和計算 NICNIC

CPUNIC• 実装例– 汎用インターコネクト• Myrinet, InfiniBand, Gigabit Ether, QS-Net, ...

– 専用インターコネクト• ES, BlueGene/L, ...

21

2010年のHPCアーキテクチャは？
～検証～• ビジネス的に成り立たなければならない– 何をテクノロジ・ドライバとするか？

• ソフトウェア開発者に対して，現在の「安定性／連続性」を引き続き保証しなければならない– MPPの時のような「フィーバー」はもう懲り懲り• （45nmまで）CMOSのクロック速度の伸びは鈍化するものの，集積度の伸びはまだまだ堅調– クロック速度の伸びに頼るのではなく，トランジスタ・バジェットに頼る• トランジスタ・バジェットを如何に性能に還元するか？

– 「Memory Wall」問題はさらに深刻化• メモリ・アクセスするより（無駄な計算でも）計算した方が良い!

– 消費電力＆発熱問題も同様に深刻化

22

1 - 11

SS研HPCフォーラム2004

2004/10/08

ビジネス的にどう成り立たせるか？
テクノロジ・ドライバ
HPCマシン• スパコン時代（1980～1990中）– 集積回路技術– 実装技術– コンパイラ技術

汎用大型計算機

技術移転• PCクラスタ時代（1990中～現在）

PC&LAN– 高性能汎用マイクロプロセッサ製品移転– 高集積メモリ– 高速インターコネクト• 2010年のHPCマシン– 高性能＆低消費電力組込みプ
ロセッサ＋動的再構成可能デー
タパス– 高速＆知的インターコネクト

技術フィードバック

情報家電／携帯情報端末
23

動的再構成可能データパス～ビジネス的に成り立つのか？～• 動的再構成可能データパス• IP Flex DAP/DNA
DAP/DNA-2デバイス

ORN
DAP
RISCコア

...

IFU
ORN
:

:

DNA
ダイレクト
I/O

DNA

高速バス･スイッチ･ユニット

:

:

PCI

SDRAM

インタフェース

インタフェース

外部メモリ

DNA-MatrixPE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

PE

周辺機器

ORN
...

多彩な32bit
演算ユニットGPIO、UART、Interrupt Controller 、他

...
PCIバス

高速I/O機器• Stretch

ORN

SB
:::

...

::
LM

SMAC

24

1 - 12

SS研HPCフォーラム2004

2004/10/08

Stretch•••••300 MHz, 32-bit Xtensa-based processor
16- and 24-bit instructions
FPU
MMU with TLBStretch Instruction Set Extension Fabric–Aligned load and store–

Unaligned load and store••••

Up to 16 bytes variable byte streaming I/OUp to 32 bits variable bit streaming I/O

User-defined extensions to the core ISA––••8, 16, 32, 64, and 128 bit

Defined in C/C++
Fully pipelined and interlocked

Low power consumption
Support for standard operating systems

25

CRAY XD1

ChassisCompute Processors
Performance

Each Rack
12

144

53 GFlop/s

633 GFlop/s

Aggregate Switching
Capacity

96 GB/s

1152 GB/s

Interprocessor
Latency
Aggregate Memory
Bandwidth

1.6 us

1.8 us77 GB/s

922 GB/s

Maximum Memory

96 GB1152 GB

Maximum Disk
Storage

296 GB26

1 - 13