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