計算科学が拓く世界スーパーコンピュータは何故スーパーか 学術情報メディアセンター中島浩 http://www.para.media.kyoto-u.ac.jp/jp/ username=super password=computer 講義の概要 目的 計算科学に不可欠の道具スーパーコンピュータが どういうものか なぜスーパーなのか どう使うとスーパーなのかについて雰囲気をつかむ 内容 スーパーコンピュータの歴史を概観しつつ スーパーである基本原理を知り どういう計算が得意であるかを学んで それについてレポートを書く
スーパーコンピュータ ( スパコン ) とは () パソコンの数千倍 ~ 数万倍の規模 性能を持つ巨大な超高速コンピュータ 世界最大 最高速マシン パソコン x 0 万 京大スーパーコンピュータ パソコン x 5 千 パソコンで丸 日かかる計算 = 秒 ~ 数 0 秒 ( ただしスパコン向きの問題をうまくプログラムしたら ) スパコンが高速な理由 個々の部品 (CPU, メモリなど ) パソコン 非常に多数のパソコン ( のようなもの ) の集合体 パソコン = ~4 CPU 京大スパコン = 6,656 CPU 世界最高速スパコン = 86,06 CPU + 00,35 GPU 世界最大規模スパコン = 94,9 CPU スーパーコンピュータ ( スパコン ) とは () スパコンが得意な計算 = 大量 CPU による分担計算 = 超大量のデータを対象とする計算 地球全体の気象 気候 海洋現象の予測 km あたり データ データ数 5 億 (x 高さ方向 ) 生体物質 化学物質 材料の解析 膨大な分子 原子数 (e.g. 水 ml = 3.3 x 兆 x 00 億 ) 自動車の空力 衝突解析 mm or cm 3 あたり データ データ数 =~0 億 Web 文書の解析 ( 自動翻訳用データ作成など ) 文書数 = 数億 ~ 数 0 億
スーパーコンピュータの歴史 そもそもの始まり : ベクトルマシン () 976 年 : 最初のスパコン Cray- 登場 動作周波数 =80MH (< 携帯電話 ) 演算性能 =60MFlops (< 携帯電話 ) Flops: Floating-point Operation Per Second =0 進 6 桁精度の数値 (0-308 ~0 308 ) の加減乗算回数 / 秒 60MFlops = 毎秒 億 6 千万回の加減乗算 消費電力 =5kW 大量の数値データ ( ベクトル ) に対する同種演算が得意 976 年 ( 中島 =0 歳 ) での スーパー 度 最速 @ 京大 ( 富士通 F30-75) < 5MFlops 最速 @ 京大情報工学科 ( 日立 H8350) < MFlops Intel 8086/87(978/80) 50KFlops スーパーコンピュータの歴史 そもそもの始まり : ベクトルマシン ().98m.37m.74m source: http://en.wikipedia.org/wiki/image:cray--p00.jpg 3
少し寄り道 : スーパーコンピュータの原理ベクトル計算の原理 () 大量数値データの同種演算を高速に行う方法例 : i i i (i =,,...) つの乗算をいくつか ( たとえば 4 つ ) の小さい操作に分ける i i i 多数の乗算を 小操作ずつずらして行う 3 3 3 4 4 4 4 倍の速度で計算できる ( ように見える ) ( 演算 ) パイプライン処理 少し寄り道 : スーパーコンピュータの原理ベクトル計算の原理 () 3 4 X 5 8 4 8 8 5 9 5 6 8 5 5 7 0 3 5 3 7 乗算を 4 分割してずらす考え方 ( たとえ話 真実 ) 0 7 9 6 7 3 5 3 7 34x5848=3537 +34x8 +34x4 +34x8 +34x5 787x675=535744 +787x +787x5 +787x7 +787x6 778x74=698476 +778x +778x4 +778x +778x7 8485x65=3843635 +8385x +8385x5 +8385x6 +8385x 4
スーパーコンピュータの歴史 ( に戻って ) もう一つの方法 : 並列マシン () 980 年代 : スカラーマルチプロセッサ台頭 多数のパソコン ( のようなもの ) の集合体 Sequent Balance : 0 x NS306 ( 84) Intel ipsc/: 8 x i8086 ( 85) 共有メモリ (SM) メモリ キャッシュ プロセッサ 分散メモリ (DM) 結合網 共有 & 分散メモリ階層型 スーパーコンピュータの歴史もう一つの方法 : 並列マシン () 実例 (): 京大スパコン = 富士通 HX600 L 5KB L64KBx 9.0 GFlops DM: 3TB L3: MB SM (multi-core) 46 x /sec SM: 3GB 5
スーパーコンピュータの歴史もう一つの方法 : 並列マシン (3) 実例 (): 京大スパコン = 富士通 SE M9000 L3KBx 0 GFlops L: 6MB SM (multi-core) SM: DM: 7TB SM: TB 7 x 3GB/sec スーパーコンピュータの歴史もう一つの方法 : 並列マシン (4) 京大スパコンの全体像 HX600 クラスタ ノード数 = 46 コア数 = 6 x 46 = 6656 ピーク性能 = 6. TFlops Linpack 性能 = 50.5 TFlops( #58 #34 ) メモリ容量 = 3 TB SPARC Enterprise M9000 fat node サブシステム ノード数 = 7 コア数 = 8 x 7 = 896 ピーク性能 = 8.96 TFlops メモリ容量 = TB x 7 = 7 TB 超高速 Infiniband 結合網 通信性能 = 3.3TB/s ETERNUS 000 ストレージシステム容量 = 883TB 転送性能 = 6GB/s 6
また少し寄り道 : スーパーコンピュータの原理並列計算の原理 大量 CPUによる同じ ( ような ) 計算の分担方法例 : i i i (i =,,..., n) n 組のデータを p 個の CPU に均等に分割する それぞれの CPU が割当てられた計算をする おしまい n M n n n M n n n + n + M n + n + n + n + + + n M + + n n + + スーパーコンピュータの歴史 ( にまた戻って ) ベクトル vs 並列 () 990 年代 : ベクトル並列 vs スカラー並列 TOP-0 of @ 993.6 machine TMC CM-5 TMC CM-5 TMC CM-5 TMC CM-5 NEC SX-3 NEC SX-3 TMC CM-5 Intel Delta Cray Y-MP Cray Y-MP #proc 04 544 5 5 4 4 56 5 6 6 Rmax 59.7 30.4 30.4 30.4 3. 0.0 5. 3.8 3.7 3.7 Rpeak 3.0 69.6 65.5 65.5 5.6.0 3.8 0.5 5. 5. 巨大で (>00 万元 ) 密な連立一次方程式の求解性能に基づく世界中のスパコン順位表 993.6 から毎年 回発表 (6 月 & 月 ) Rmax: 求解性能 Rpeak: 理論最大性能 ( 単位 GFlops: 毎秒 0 億演算 ) 7
0 7 0 6 スーパーコンピュータの歴史ベクトル vs 並列 () # of ベクトルマシンスカラーマシン Peta=0 5 Rpeak BGL Roadrunner Jaguar Tianhe K #CPU ; GFLOPS 0 5 0 4 0 3 CM5 XP/S40 SR0 CP-PACS ASCI-R ES ASCI-W VPP800 Rmax #CPU HPC500 HX600 Tera=0 0 0 NWT VPP500 x498/7.5 年 =x.84/ 年 >Moore の法則 (x.58) 9 93 94 95 96 97 98 99 00 0 0 03 04 05 06 07 08 09 0 VP800 source: http://www.top500.org/ スーパーコンピュータの原理 ( いきなり & とりあえず ) まとめ ベクトルマシン つの演算を k 個の小さい操作に分割する 多数の同種演算を 小操作ずつずらして行う k 倍の速度で計算できる ( ように見える ) 大量 ( k) の同種演算が得意 並列マシン 多数の同じ ( ような ) 演算を p 個の CPU に分割 それぞれの CPU が割当てられた計算をする p 倍の速度で計算できる ( ように見える ) 大量 ( p) の同じ ( ような ) 演算が得意 スパコンは大量の同じ ( ような ) 演算 ( や処理 ) が得意 8
スーパーコンピュータの原理 大量同種演算は何でも得意か? () 超得意 i i + y i 普通に得意 i = (x i + x i + x i+ ) 微妙に得意 + x + + x n 何とかなる i f(i) s.t. n 全然ダメ = f(x,0), i = f(x i, i ) スーパーコンピュータの原理 大量同種演算は何でも得意か? () 超得意 i i + y i 普通に得意 i = (x i + x i + x i+ ) 微妙に得意 + x + + x n 何とかなる i f(i) s.t. n 全然ダメ = f(x,0), i = f(x i, i ) + + + 9
スーパーコンピュータの原理 大量同種演算は何でも得意か? (3) 京大スパコンの通信速度 47GFlops 47GFlops 4.4μsec 3.3TB/sec=6.4Tbit/sec=00Mbit/sec 3000 個の数値 (8B) の通信時間 =4.4μsec =40480 回の演算時間 0 億個の数値 () の通信時間 = 秒 =470 億回の演算時間 /sec =3Gbit/sec =00Mbit/sec 60 まとめ & 課題 スーパーコンピュータは... 大量の同じ ( ような ) 演算 ( や処理 ) が得意 ただし演算どうしの依存性が少ないことが必要 そんな都合のよい問題はあるのか? そこでレポート課題 ( できればスパコンに適する大規模な ) 並列計算により高い性能が期待できる実際的な問題を一つ挙げ なぜその問題が並列計算に適するのかを説明せよ 0