PDFファイル

スーパーコンピューティング:
高速に計算する技術
九州大学情報基盤研究開発センター
南里 豪志
[email protected]
1
レポート課題
!  この講義を聴いたうえで、
日本で、多額の予算を投じてスーパーコ
ンピュータを開発する意義の有無につい
て論じなさい
!  締切: 11月12日(金)
!  提出先: [email protected]
!  提出形式: Wordもしくはテキストファイル
2
グラフィックプロセッサで
スーパーコンピュータを作る?
!  PC用のグラフィックプロセッサ(GPU)を
スーパーコンピュータとして使う
 
1997年の世界最速スーパーコンピュータと
同等のハードウェア性能を約7万円で実現
http://wiredvision.jp/news/200806/2008062322.html
何故こんなことに?
3
講義の流れ
!  なぜ高速な計算機が必要か
!  スーパーコンピュータのアーキテクチャ
ベクトルプロセッサとスカラープロセッサ
  並列計算機
  アクセラレータ (Cell, GPU等)
 
!  今後の展望
4
スーパーコンピュータの重要性
!  様々な分野でスーパーコンピュータが活躍
 
膨大な計算に基づいたシミュレーション:
製品設計、薬品開発、遺伝子解析、気象予測
、株価予測、etc...
!  計算能力が商品やサービスの質に直結
5
スーパーコンピュータの利用例:
天気予報 !  現在はほとんど「数値予報」に依存
 
ある時点での大気の状態をもとに
時間的な変化をシミュレート
  大気の状態: 温度、湿度、気圧、風、地形など
  予測法: 流体力学計算(流体の運動+熱力学)
!  予測精度向上の手段:
計算方法の改善、観測データの改善、
より細かい格子での計算、etc.
特に格子の大きさに注目
6
日本近辺の天気予報
!   地球全体と東アジア領域について
大気情報を収集し大気の循環を
シミュレート
!  東アジア領域の計算
 
以前は、水平方向 20km四方、鉛直方向40層
の格子に分割して計算
20km四方の地域全体が同じ気温,湿度?
例) 福岡市の面積= 340km2
7
計算モデルの改良(2006年)
!   水平方向 5km, 垂直方向 50層
= 格子の数が 4 x 4 x 1.25 = 20倍
!   計算量は、少なくとも 20倍以上 以前の格子数で、24時間後を予測する計算に
2時間要していたとすると...
⇒ 同じ計算機だと 40時間以上
予報を計算しているうちに明日が来てしまう!
8
さらに高速な計算機が必要な例:
地球環境予測
!  地球全体の大気循環や海洋循環を予測
長期予報
  温暖化
  エルニーニョ
 
地域の天気予報とは比較にならない計算量
9
地球シミュレータの登場 (2002年) !  稼動開始時点(2002年3月)時点で,
世界最高速のスーパーコンピュータ
 
日本の計算機メーカ(主に NEC)が開発
!  開発目標: 10km四方(赤道近辺)の精度
で地球全体の大気循環をシミュレート
!  それまでは 100km四方
 
例えば台風の発生過程:
100km四方だと台風が
台風に見えない
10
地球シミュレータの成果
!   台風進路予測
 
 
5.5km四方で地球全体をシミュレート(日本近辺は 2.78k
m四方)
海底探査船「ちきゅう」に, 台風進路の予測結果を到達
予定の3日前に提供
!   台風発生予測
 
過去10年間についてシミュレーションによる台風発生回
数が実際の値とほぼ一致
!   CO2の増加に伴う温暖化の予測
 
2040年には年間の真夏日日数が約20日増加,
平均気温が約2度上昇.
11
世界的に見た
地球シミュレータの性能
!   世界の計算機性能比較サイト TOP500(
http://www.top500.org)で断トツの 1位
 
2位から10位までの計算機の演算性能の合計を上回る性
能(2002年6月時点)
!   “Computenik”
= 「計算機分野でのスプートニクだ!」
(in New York Times, by Jack Dongarra@Univ. Tenn.)
米国の開発意欲に火を付けた
12
Top500リスト:
スーパーコンピュータの性能比較
!   計算機の性能(演算回数/秒)は
動作させるプログラムによって変化するので、
比較のため、共通のプログラム(ベンチマーク)が
必要
!  Top500リスト:
LINPACKベンチマークを使った性能比較
 
実際に稼働中の計算機で計測した性能を登録
  毎年6月と11月に更新
 
LINPACKベンチマーク:
  大規模な連立一次方程式の求解
  計算機の基本性能比較向き
(実際のプログラム実行性能の参考にはなりにくい)
13
米国の逆襲(2004年)
!  IBM Blue Gene/L (2004年11月∼)
http://www.research.ibm.com/bluegene/
 
理論最高性能 70.72TFLOPS
  ちなみに地球シミュレータはSGIの計算機に次いで3位
 
「まだ完成形ではない」:
2005年前半に、さらに4倍高速化
日本のすべてのスーパーコンピュータを
かき集めても追いつかない規模になる
14
米国の逆襲(2005年)
!  IBM Blue Gene/L (2005年11月)
 
理論最高性能 280.6TFLOPS
  世界で初めて 100TFLOPSを越えた計算機
  地球シミュレータは7位に後退
 
本当に日本のすべてのスーパーコンピュータを
かき集めても追いつかない規模に
  世界500位に入った計算機の性能の国別合計:
1位 米国
68.3%
2位 日本
5.68 %
3位 イギリス 5.41%
4位 ドイツ
3.10%
5位 中国
2.59%
以下、 オーストラリア、スイス、オランダ、韓国、… 15
最新情報(2010年6月)
!   1位 Cray Jaguar – XT5-HE(米国)
2位 Dawning TC3600 (中国)
 
2位と7位に中国が登場
1.759PFLOPS
1.271PFLOPS
!   国別合計:
1位 米国 56.40% (17.97 PFLOPS)
2位 中国 9.23% ( 2.99 PFLOPS)
3位 ドイツ 6.93% ( 2.25 PFLOPS)
4位 英国 5.50% ( 1.79 PFLOPS)
5位 フランス 5.26% ( 1.71 PFLOPS)
6位 日本
3.86% ( 1.25 PFLOPS)
 
 
以下、 ロシア,スウェーデン,カナダ,スイス,...
日本のシステムの最高位:
地球シミュレータ2 (NEC) 191.2TFLOPS(22位)
16
さらに最新情報
!  中国のスーパーコンピュータが 2.507PFlops を達成。(2010年10月)
 
2010年11月のリスト更新で世界最速へ?
http://japan.cnet.com/news/service/story/0,3800104747,20422175,00.htm
!  東京工業大学が理論性能 2.4PFlopsの
TSUBAME2.0 運用開始
 
Linpackの性能は計測中
http://www.titech.ac.jp/topics/news/
17
日本の
次世代スーパーコンピュータ
!  理化学研究所と富士通が開発中
http://www.aics.riken.jp
 
 
目標: 2012年までに
毎秒1京回の計算(=10PFLOPS)が
可能な計算機を開発
例えば...
1km平方で分割したアジア域の雲解像モデ
ル解析(24時間分)を 1分で計算
  地球シミュレータでは
12時間必要
18
次世代スーパーコンピュータ
に関する問題
!  膨大な開発費: 7年間で約1,200億円
 
事業仕分けでの指摘
「2番じゃダメなんですか?」
!  米国では2012年に 20PFlopsの計算機
Sequoia を開発予定
19
アーキテクチャの変化:
地球シミュレータ → BlueGene/L
地球シミュレータ BlueGene/L
1CPUあたりの性能
CPU数
8GFLOPS
5,120
2.8GFLOPS
131,072
!  地球シミュレータ:
最速のプロセッサを比較的少数利用
!  BlueGene/L:
低速のプロセッサを多数利用
対照的なアプローチ
20
プロセッサのアーキテクチャ
!  地球シミュレータ: ベクトルプロセッサ
 
科学技術シミュレーションに特有の計算を
超高速に実行するための特殊な構造
  連続領域の大量データに対する同じ演算の繰り返し
 
非常に高速だが,非常に高価
!  BlueGene/L: スカラープロセッサ
PC等で使われているものと同じ構造
  そこそこの性能を安価に実現
 
  比較的容易に開発,スケールメリット
特に,メモリ装置の構造に大きな差
21
基本的なCPUの構成
!  命令読み出し → 解釈 → データ読み出し
→ 計算 → 結果の出力
入出力装置
磁気ディスク,
キーボード,
ディスプレイ等
制御装置
メモリ
プログラム
3 100 1
処理装置(CPU)
3 200 2
1
1
演算装置
2
データ
メモリからデータが届くまで計算できない
22
CPUとメモリの速度差の問題
!  CPU:1回の演算時間: 0.25∼0.5ns
!  メモリ:1回の読み書き時間: 数ns∼数十ns
!  約10~100倍の性能差:
データを待つ間,CPUは仕事ができない
!  ベクトルプロセッサ,スカラープロセッサ,
それぞれ別の方法で解決
23
ベクトルプロセッサのメモリ
!   パイプラインによる連続アクセスの高速化
 
パイプライン(=バケツリレー)
→ データが届き始めてからはメモリ遅延の影響なし
CPU
メモリ
a[8]
a[7]
a[6]
a[5]
a[4]
a[3]
a[2]
a[1]
a[0]
さらに、
!   複数のデータの同時転送
CPU
メモリ
!   ベクトル命令
 
一つの命令で複数のデータに対する演算を一括指示
非ベクトル
add
a(1) b(1)
add a(2) b(2)
add
a(3)
ベクトル
vadd
a(1~100)
b(1~100)
b(3)
連続データに対する単純な演算の繰り返しに有効
24
スカラープロセッサのメモリ
!  キャッシュメモリの利用
 
CPUとメモリの間に置く高速メモリ
高速だが小容量
!  速度に応じて階層化
階層
遅延時間
容量
1次キャッシュ
1クロック
32KB
2次キャッシュ
5クロック
256KB
3次キャッシュ
12クロック
3MB∼9MB
メモリ
数百クロック
数GB∼数百GB
 
キャッシュメモリ
 
CPU
1次
2次
3次
メモリ
アクセスされた領域をCPUの近くにコピー
  小さい領域内での計算が非常に高速
25
ベクトルからスカラーへ
!  ベクトルプロセッサの利点=簡単に高い性能
 
プログラムの工夫がほとんど不要
  メモリ機構の高速化と
プログラム自動チューニング技術の発達
!  ベクトルプロセッサの欠点=高価
 
開発費や製造費が非常に高価.
!  スカラープロセッサ:
ある程度の性能を安価に提供可能
 
キャッシュメモリをうまく使うテクニックが必要
  問題を小さく分割して,一旦キャッシュにコピーした
データを最大限利用する技術等
26
では,スカラープロセッサで
どうやって高速化する?
!  1: クロック周波数を上げる
 
クロック周波数=計算機の基本的な処理速度
!  2: プロセッサの数を増やす
= 並列計算機
!  3: 特定の計算が得意な装置を追加する
= アクセラレータ
27
クロック周波数による高速化
!  利点: 自動的に速くなる
 
プログラムの変更は基本的に不要
!  欠点: 物理的,経済的な限界
 
物理的な限界 = 消費電力と熱
  周波数に対して指数関数的に増加
 
 
例えば x86系 CPU は 2004年の 3.8GHz以降、
頭打ち状態
経済的な限界 = 開発コスト
  電流漏れ,熱等の問題が深刻化
28
並列計算機による高速化
!  オンチップマルチコア
 
Core
いまや、ほとんどのPCが
この形
!  共有メモリ型並列計算機
 
Core
L1
L1
L2 キャッシュ
CPU
CPU CPU CPU CPU CPU CPU
数CPU~数十CPU
メモリ
!  分散メモリ型並列計算機
 
~数万CPU
ネットワーク
CPU
CPU
CPU
CPU
メモリ メモリ メモリ メモリ
29
地球シミュレータ、BlueGene/L の
構成
!  階層構造:
 
小∼中規模の共有メモリ型並列計算機で
分散メモリ型並列計算機を構成
CPU CPU...CPU
メモリ
CPU CPU...CPU
メモリ
CPU CPU...CPU
メモリ
...
CPU CPU...CPU
メモリ
地球シミュレータ BlueGene/L
ノードあたりCPU数
ノード数
8
640
2
65,536
30
並列計算機
!  利点: 物理的な性能は、比較的容易に
向上できる
 
極端な話,単純に数を増やせば向上する
!  欠点1: プログラムが複雑
 
計算の分割や同期,ノード間通信の指示
!  欠点2: 並列化にともなう処理時間増加
 
主に同期待ち時間と,通信に要する時間
どちらも、特にコアやノードの数が増えると深刻
31
アクセラレータの追加
!  特定の計算を高速化
!  特に最近はグラフィックプロセッサの
科学技術計算用途への流用に注目:
GPGPU (General Purpose GPU)
PC用のGPU (NVIDIA, ATI等)
  中国の最新システムは ATI搭載
  東工大の TSUBAME2.0は NVIDIA搭載
 
安価かつ低消費電力で性能を大幅に向上
32
何故、グラフィックプロセッサ?
!  実は基本的なグラフィック計算の主要部分は
連続領域に対する演算の繰り返し
 
ベクトルプロセッサの得意な計算と同じ
!  基本構造がベクトルプロセッサとほぼ同じ
33
何故、安くて低消費電力?
!  グラフィック処理に特化した簡略化
 
メモリ量を制限
  1
 
2GB程度
演算の種類を制限
  主に加算,乗算の性能重視
 
除算,平方根等はソフトウェアで計算
  複雑な処理は不可
!  スケールメリット
 
ゲーム市場での消費大
34
GPUとスーパーコンピュータ
!   最新GPU (AMD Radeon HD 5970)
演算性能(単精度)
4.64 TFLOPS
演算性能(倍精度)
928 GFLOPS
GPUメモリ容量
2GB
294W
消費電力
価格
地球シミュレータの
1/40 の性能
7万円前後
!   スーパーコンピュータ:
地球シミュレータ BlueGene/L
TSUBAME2.0
総演算性能
40TFLOPS
360TFLOPS
2.4PFLOPS
総記憶容量
10TB
32TB
100TB
導入コスト
500億円
$1億
32億
電力
6,000KW
216KW
1MW
35
GPGPUの問題点
!  PCからアクセラレータへのデータ転送が遅い
 
基本的に PCI Expressバスの速度が上限
  x16 で 4GB/sec
  大規模問題では致命的
 
複数GPUによる並列化の大きなネック
!  性能に対するメモリ量が少ない
!  プログラムが複雑
 
 
ホストPC側とアクセラレータ側双方のプログラム
データの移動も全てプログラムに明記
性能を活かすためには高度なチューニングが必要
36
GPGPU: 現状は順調
!  利用者側: 複雑なチューニング技術の開発
 
データ転送と計算の同時実行、等
!  メーカー側: 科学技術計算向けの拡張
 
 
倍精度演算の高速化
搭載メモリの容量増加
!  ソフトウェア: プログラム開発ツールの提供
 
 
共通言語 OpenCL 最適化技術や数値計算ライブラリ
37
GPGPU: 今後の課題
!  問題によって向き不向きがある
 
メモリを大量に使った計算は苦手
!  計算が大規模化した場合の問題
 
複数のGPU間で通信しながらの分散並列処理
!  科学技術計算向け拡張部分のビジネスモデル
 
ゲームに必要ない部分(倍精度実数演算等)に
どのくらい費用と時間をかけることが出来るか?
38
スーパーコンピュータの今後
!  地球シミュレータまで: 性能重視
 
自動車技術におけるF1 的な位置づけ
!  今後はコストも重要
 
開発コスト,電力
!  自国で開発するか?
他国の技術を買ってくるか?
39
Top500リストの別の見方
!  コンピュータメーカー別のシステム数の比率
米国製以外は、富士通(1.4%)くらい。
40
Top500リストの別の見方(続き)
!  搭載プロセッサの種類
 
米国製以外は、富士通(Sparc)が 2システム、
NECが 1システム
米国、日本以外は、独自開発を行っていない
41
ちょっと宣伝
!   あなたもスーパーコンピュータを使えます
http://www.cc.kyushu-u.ac.jp/scp/
  学生用ID: PrimeQuest 16CPUまで無料
  それ以上の利用は,規模に応じて課金
!  研究室配属後,担当教員を介して申請
!  利用可能なシステム(来年以降順次更新予定)
富士通 PrimeQuest (2048core)
13 TFLOPS
  富士通 PCクラスタ(1568core)
18 TFLOPS
  日立製作所 SR16000 (1344core) 25 TFLOPS
 
42