Transcript ppt

Supercomputing in KEK
東京大学大学院情報理工学系研究科
小柳義夫
2006/2/6
KEK
1
どうしてKEKにスパコンが?
• KEKにとってスーパーコンピュータとは何か
「数値加速器」
• 世界的なHPCの流れの中でKEKのスー
パーコンピュータを位置づける
• スーパーコンピュータ設置の裏話
• 物理学とスーパーコンピュータ
2006/2/6
KEK
2
HPCの歩み(その1)
• 1946~1964
• 1950年代
• 1960年代
計算機の萌芽時代
HPC(-3) 世代
STRETCH
HPC(-2)世代(mainframe 第1世代)
– CDC6600, Array Processors
• 1970年代前半 HPC(-1)世代
– “実用的” ASC, Star-100, ILLIAC IV, BSP[KEK創立]
• 1970年代後半 HPC神代時代
– Cray-1, 75APU, IAP
• 1980年代前半 HPC第1世代(並列ベンチャー創業)
– Cyber205, XMP, S810, VP200, SX-2
2006/2/6
KEK
3
HPCの歩み(その2)
• 1980年代後半 HPC第2世代
– YMP, ETA-10, S820, VP2600, SX-3, nCUBE, CM-1
• 1990年代前半 HPC第3世代
– C90, T3D, Cray-3, S3800, VPP500, SX-4, SP-1/2,
CM-5, KSR2 (HPCベンチャー破産、吸収の時代)
• 1990年代後半 HPC第4世代
– T90, T3E, SV1, SP-3, Starfire, VPP300/700/5000,
SX-5, SR2201/8000, ASCI(Red, Blue)
• 2000年代前半 HPC第5世代
– ASCI,TeraGrid,BlueGene/L,X1, Origin,Power4/5,
ES, SX-6/7/8, PP HPC2500, SR11000, ….
2006/2/6
KEK
4
HPC(-3)世代
• 1956:IBM starts 7030 project (known as
STRETCH) 100 times faster than IBM 704
– Atomic Energy Commission at Los Alamos.
– 1959: first STRETCH computer(only 7 built )
– much of the technology re-surfaces in the later
IBM 7090 and 7094.
• 1958: Gamma 60 (Bull of France )
– multiple function units
– fork and join operations
2006/2/6
KEK
5
HPC (-2)世代
• 1964:IBM360 (mainframeの元祖)
• 1964: Control Data Corporation produces
CDC 6600
• 1964:Atomic Energy Commission urges
manufacturers to look at "radical” machine
structures. This leads to CDC Star-100, TI
ASC, and ILLIAC-IV.
• 1964: Air Force signs ILLIAC-IV contract
with University of Illinois. (Burroughs and
TI)
2006/2/6
KEK
6
HPC (-2)世代
• 演算パイプラインによってベクトル演算を高
速に実行
– 1965年にIBM社のSenzigらによって最初に提案。
– パイプライン方式と並列方式の比較を行なってい
る。
• 石油探査のためIBM 2983 Array Processor
(1965)
– IBM360のI/Oチャンネルに接続する付加プロセッ
サとして開発
2006/2/6
KEK
7
HPC(-1)世代
• ベクトル(パイプライン)計算機
– ASC (1972, Texas Instruments社)
• 30 MFlops、7機製作
– Star-100(1973, CDC社)STring ARray Computer?
• 50 MFlops、4機製作
• 並列計算機
– ILLIAC IV (1973, Burroughs社)
• 並列度64、50 MFlops、1機製作
– BSP (1974設計開始、1980開発中止、Burroughs社)
• 並列度16、50 MFLops
2006/2/6
KEK
8
HPC神代時代
• Seymour Cray
– CDC (Control Data Corporation) 社において、
CDC6600 (1964, 1 MFlops) およびCDC7600
(1969、5 MFLops) を設計
– 1972年、CDC8600 計画が社内で拒否される
– 同社を退社し、CRI社 (Cray Research Inc.) を
設立
• CRI社は1976年160 MFlopsの性能をもつ
Cray-1を出荷し、ロスアラモス研究所に納入
2006/2/6
KEK
9
HPC神代時代(Cray-1)
• 実装
– 4ゲートのICを高密度に実装するという画期的技術
でこのような性能を実現したことは驚異
• 自動ベクトル化コンパイラ
– 性能は十分でなく、使いこなすには技能が必要で
あった
• 当時、「このように高速な計算機は、世界に数
台もあればよい。」などと言われていた
– たちどころに世界中に普及した。
– 日本にも2台納入(CRCと三菱総研)
2006/2/6
KEK
10
HPC神代時代(富士通)
• FACOM 230-75 APU (1977)
– 22 MFlops、2機製作
– 航空技術研究所に納入
– 主記憶直結のベクトル計算機
– 間接参照のベクトル演算をサポートしていた点は
注目される(CrayではXMP後半から)
– AP-FORTRANという拡張言語方式
• 商業的には成功とは言えないが、日本の最
初のベクトル計算機であった。
2006/2/6
KEK
11
HPC神代時代(日立)
• IAP (Integrated Array Processor)というメイ
ンフレームに対する付加プロセッサ
• HITAC M-180 IAP (1978),
• M-200H IAP (1979, 48MFlops)(筆者が利用)
• M-280H IAP (1982, 67 MFlops)
– 仮想空間上のデータに対してベクトル演算
– 性能向上はほどほど(数倍程度)
– 高度な自動ベクトル化コンパイラを装備
– TSSでも使える
2006/2/6
KEK
12
HPC神代時代(日立)
• 間接参照、総和、内積、1次漸化式
– Cray-1がまだ完全にはサポートしていなかった
機能を有していたことが特徴である。
• M-280H IAP は、世界で初めて条件付きdo
loopを自動ベクトル化できた。
• キャッシュに頼ったベクトル演算には限界が
ありメインフレーム自体の高速化とともに姿を
消した。
2006/2/6
KEK
13
HPC神代時代(NEC他)
• 日本電気
– ACOS-1000 IAP (1982, 28 Mflops)
– 他にもあるかもしれない。
• 三菱電機
– MELCOM COSMO IAP
– 詳細は不明
2006/2/6
KEK
14
HPC第1世代(1980年代前半)
• CDC社
– Cyber 203 (1980, 200 MFlops) 2並列
– Cyber 205(1981, 400 MFLops) 4並列
– 主記憶直結
• CRI社 (設計 SteveChen)
– Cray XMP-2(1982, 630 Mflops) 2並列
– Cray XMP-4(1984, 1260MFlops) 4並列
– ベクトルレジスタあり
2006/2/6
KEK
15
HPC第1世代(1980年代前半)
• 日立
– HITAC S-810/20 (1983, 630MFlops)
– 複数のベクトル演算器が、データ駆動計算機の
ように非同期に動作
• 富士通
– FACOM VP-200(1983,570MF)
– 要素並列(機能的には1本のパイプライン)
• 日本電気
– NEC SX-2 (1985, 1300MF)
– 独立なスカラー演算器
2006/2/6
KEK
16
アメリカのベクトル計算機との違い
• メインフレームとの互換性
– メインフレームの発展としてベクトル計算機を設
計したので、制御部は互換性を持つ。
• 単一プロセッサ:
– 多くのパイプライン(6~8)を装備する
– アメリカはパイプラインは少ない(1~2)が、並列
機(並列度2~4)
• 大容量メモリ
– XMPは最大32MB(ただし高速)
– 日本機は最大256MB。
– インターリーブ技術も重要。
2006/2/6
KEK
17
アメリカのベクトル計算機との違い
• 大容量ベクトルレジスタ
– XMPはCPU当り2KB
– S810/20やVP-200は64KB、SX-2は80KB
• 間接アドレスベクトル演算が可能
– XMPでは途中からサポート。
• 半導体技術
– 日本は各社ともメインフレーム製造のために開発
した半導体技術を使ってベクトル計算機を製造
2006/2/6
KEK
18
HPC第1世代(1980年代前半)
• その他の動き
– CRI社Cray-2 (1985, 1952 MFlops)
– 富士通 VP-400 (1985, 1140 MFlops)
– Convex社 C1 (1985)
– IBM社は3090への付加型ベクトル演算器
VF (VectorFacility、1985、108 MFlops)
• このころからアメリカでは多くのベンチャービ
ジネスが並列計算機を製造(日本はなし)
2006/2/6
KEK
19
KEKにいかにしてスーパーが導入さ
れたか?
• KEKの計算機
– 1973年5月日立 H8700 [小柳着任9月]
• カード計算機、ユーザファイルなし
– 1977年2月日立 H8800 2台[離任78年8月]
• 私だけ使っているときシステムダウン
• 小柳先生、何か珍しいコマンド入れませんでしたか?
– 1981年8月日立 M-220H 3台(IAP付)
– 1985年6月日立 M-280D,M-280H,
S810/10(128MB)
2006/2/6
KEK
20
わたしのシミュレーション研究
• 1980年頃:spin系
– Metropolis法の勉強。最初は勘違い。
– 筑波大学の地下書庫で論文を発見
• 1982年頃:lattice系に取りかかる
– 1編の論文(CPC):任意次元のU(1)ゲージモデル。これを
研究して勘を付ける。
– フェルミオン:格子上のDirac方程式をどう解くか?
– ILUCR法の開発(記録によると83年4月1日)
• 1983年3月:東大にS810/20(64MB)設置
– ILUCR法の超平面ベクトル化
2006/2/6
KEK
21
KEKにいかにしてスーパーが導入さ
れたか?
• 東大のS810で味をしめる。M200Hに比
べて25倍の高速化。KEKにも欲しい!
• 第四期にS810を押し込む(1985)
– S810/20(64MB) or S810/10(128MB)?
– 梅谷さんなどと相談。Memory優先に決定。
– 「名目性能より実質性能」の伝統始まる
– 要求はS810/20(128MB)拡張記憶付き!
• 大多和氏「これでは原価割れ!」
2006/2/6
KEK
22
KEKスーパー余話
• 東大のS810/20利用中にソフトウェアのバグ
発見:cexp (exp+sin+cos) 同期不足
• cexpのテストプログラムを用意
• 稼働直後のKEK S810/10 でもテスト
「弊社にご連絡ください」のエラーメッセージ
• store時のパリティエラーであることをH社総
力で解明。128MBへメモリ増加のためか。
• 後日、データ初期化(all zero)が原因と判明
2006/2/6
KEK
23
格子ゲージシミュレーション
• ILUCR for Wilson fermion
– 1983年4月ごろ思いついた
– 偏微分方程式より借用(村田健郎先生より)
– それまでのSOR系より高速
• 福来氏曰く、「10倍に高速化せよ!」
– Unrollingで2.5倍(コンパイラには負担)
– 前処理の加速で2倍
– 機種更新で2倍
• イタリアやドイツでもさらに発展
2006/2/6
KEK
24
HPC第2世代(1980年代後半)
• ETA社、CDC社から独立(1983)
– ETA-10 (1987, 10 GFlops, 並列度8) 、
– 液体窒素冷却のベクトル計算機
– 主記憶直結
– 1989年に閉鎖
• CRI
– Cray YMP (1988, 4 GFlops, 並列度8)
– XMPの後継
2006/2/6
KEK
25
HPC第2世代(1980年代後半)
• Steve Chen leaves Cray (1987)
– Cray ZMP (crazy MP?) 開発中止
– Supercomputer Systems, Inc.を創立
– SSI is later funded by IBM
• Seymour leaves Cray (1989)
– CCC (Cray Computer Corporation)社を設立し、
Cray-3, 4の開発に専念
2006/2/6
KEK
26
HPC第2世代(日本)
• 通産省「科学技術用高速計算システムの研究開発」(19811989)、いわゆるスーパーコン大プロ
• 日立
– HITAC S-820 (1987, 3 GFlops)
– 半導体技術はM680Hから移転
• 富士通
– FACOM VP2600 (1989, 5GFlops, 並列度2)
– 半導体技術はM1800(1990)へ移転
• 日本電気
– NEC SX-3 (1990, 22 GFlops, 並列度4)
– 半導体技術はACOS-3800 (1990)へ移転
• ベクトルアーキテクチャは類似(要素並列)
2006/2/6
KEK
27
S820/80(512MB)の導入
• 日米スーパーコン摩擦、buy American!!
(1989年、301条の対日適用を決定し、スーパーコンピュータ等三品目を
調査対象品目に指定。アメリカには一台も入ってないのに。)
• 次期スーパーコンは、Cray YMPを仮定して予算要
求
– 空調だか電源のスペースが不足(建物の外に設置)
– ところが、入札翌日「なかったことに」
– O氏のベンチマークプログラムが動かなかったか?
納入が間に合わなかったか?
• 1989年3月 S820/80設置
– ちなみに同じ頃、筑波大のQCDPAX完成
2006/2/6
KEK
28
HPC第3世代 (1990年代前半)
• CRI社
– Cray YMP C90 (1991, 16 GFlops, 並列度16)
– T3D (1993) Alpha chipを使った超並列機
– CS6400 (1993) Sparcベースのサーバ機。
FPS (Floating Point Systems)社の遺産
• CCC社
– Cray-3(1993, 並列度4) GaAs技術NCARに納入
– Cray-4を発表(1994)
– 1995年、破産
– Seymour Crayは1996年9月自動車事故。翌月死亡
2006/2/6
KEK
29
HPC第3世代 (日本)
• 日立
– S-3800 (1993, 32 GFlops, 共有メモリ並列度4)
• 富士通
– VPP-500 (1993, 1.6 GFlop/proc., 最大並列度
222)分散メモリ並列ベクトル機
– CMOSとGaAs
• 日本電気
– SX-4 (1995, 2 GFlops/proc., 最大並列度512)
– 32まで共有メモリ可能な並列ベクトル機
– CMOS、OSはunix
2006/2/6
KEK
30
HPC第3世代 (並列計算機の動向)
• IBM (ほとんど一人勝ち)
– 1993: SP1
– 1994: SP2
• Convex
– 1994: Exemplar SPP
• KSR
– 1993: KSR2
• TMC
– 1992: CM-5
2006/2/6
KEK
31
VPP500の導入
• 1990年代になってスーパーコンが予算上公
認された(それまでは中央計算機の付属物)
• 並列計算機への動き
• S3800 Cluster vs. VPP vs. ??
• 1995年1月富士通 VPP500/80 導入
「アーキテクチャを変えても高性能を」
• 128GFlops
2006/2/6
KEK
32
HPC第4世代(1990年代後半)
• CRI
–
–
–
–
1995: T90
1996: T3E
1996: SGIに吸収される。StarfireはSun Microへ。
1998: SV1
• SGI
– 1996: Origin 2000
• Sun Microsystems
– 1997: Sun Ultra Enterprise 10000 (Starfire)
• IBM
– 1999: RS6000 Power3 SP
2006/2/6
KEK
33
HPC第4世代(ASCI project)
• Intel
– 1997: ASCI Red (Sandia)
– Pentium Pro 1.8TF
– 1999: upgraded to Pentium2 3.2TF
• IBM
– 1998: ASCI Blue Pacific (LLNL)
– Power PC604e 3.8TF
• SGI
– 1998: ASCI Blue Mountain (LANL)
– MIPS1000 3.0TF
2006/2/6
KEK
34
HPC第4世代(日本)
• 富士通(vector)
– 1995: VPP300
– 1996: VPP700
– 1999: VPP5000
• NEC(vector)
– 1998: SX-5
• 日立(pseudo-vector)
– 1996: SR2201 (cp-pacs)
– 1998: SR8000, E1, F1, G1, ….
2006/2/6
KEK
35
SR8000の導入
• 2000年3月日立 SR8000/F1 100node
( 1.2TFLOPS)導入
2006/2/6
KEK
36
HPC第5世代(2000年代前半)
• 2000: ASCI White (LLNL, IBM) 12 TF
• 2002: ASCI Q (LANL, HP/Compaq/DEC)
20TF
• 2004: Thunder (LLNL) 23TF
• 2004: TeraGrid
– SDSC, CalTech, NCSA, ANL, Pittsburgh, ….
• 2004: BlueGene/L prototype (LLNL) 16TF
• 2004: NASA Columbia (SGI) 64TF?
• 2004: BlueGene/L at IBM 90TF
2006/2/6
KEK
37
HPC第5世代(2000年代前半)
• 2000: SGIはCray部門をTera社に売却、Cray Inc.
と名乗る
– 2002:X1
– 2004: XD1
• SGI
– 2001: Origin3800
– 2002: Origin3900
• IBM
– 2001: eServer p690 (Regatta)
– 2003: Power 5
• Sun
– 2001: Sun Fire15000
2006/2/6
KEK
38
HPC第5世代(日本)
• NEC
– 2002: 地球シミュレータ(2002, 40TFlops)
– 2002: SX-6
– 2003: SX-7
– 2004: SX-8
• 富士通
– 2002: PRIMEPOWER HPC2500
• 日立
– 2004: SR11000
2006/2/6
KEK
39
おわりに
• 加速器を用いた研究に加えて、スーパーコン
(数値加速器)を用いた研究に市民権
• 名目性能より実質性能
• 「今のプログラムをそのまま高速化」ではなく、
どの社のどんなアーキテクチャでもチューニ
ングを厭わず
• 筑波大学のrccp/ccsのような「計算機開発路
線」は取らず
• 京速計算機時代にはどうなるか!!
2006/2/6
KEK
40