...

東京大学物性研究所スパコンの共同利用について / 東京

by user

on
Category: Documents
3

views

Report

Comments

Transcript

東京大学物性研究所スパコンの共同利用について / 東京
1/29
東京大学物性研究所スパコンの共同利用について
渡辺宙志
東京大学物性研究所
物質設計評価施設 助教
Outline
1.  物性研共同利用について
2.  新システムの紹介
3.  運用について
4.  最近の成果
5.  まとめ
2015年7月8日 PBS Works User Group in Japan
University of Tokyo
2/29
日本の物質科学研究と物性研究所の役割
計算資源提供を核とした全国の計算物質科学研究者の活動の中心
分野の基盤的アプリケーション開発を通じたソフトウェアインフラ整備を展開
元素戦略 (H24-33)
希少元素フリーで性能向上
長期高信頼
鉄鋼材料開発
モータ用磁石開発
国策スパコン
HPCI戦略プログラム(H23-27)
共同利用スパコン
学術的・社会的課題の解決のた
めハード・ソフト両面からの支援
物性研究所
物質設計評価施設・
計算物質科学研究
センター
ソフト普及促進
!  技術相談・講習会・研修会
!  ソフト実行テスト環境提供
!  コミュニティ教育ツール提供
大型実験施設連携
京コンピュータ
CCMS: 9大学2国立研究所
研究者数117名の中核拠点
基盤的ソフト開発・整備
<アプリケーション開発例>
・電子状態計算;
京コンピュータ
OpenMX/AkaiKKR/xTAPP
フラッグシップ2020(H26-31) ・ 強相関格子模型計算;ALPS
「次世代の産業を支える新機能 ・モンテカルロ計算;DSQSS
デバイス・高性能材料の創成」
SPring-8,SAKLA,J-PARC,KEK-PFなど 京コンピュータ
産業利用支援・共同研究
半導体,磁石,構造材料,電池材料など ポータルサイト運営
登録アプリ120件超、PV数;8000件/月
University of Tokyo
3/29
物性研スパコン共同利用システム (1/3)
利用資格者
研究代表者
国・公立大学、私立大学及び国公立研究機関の教員、研究者
ならびにこれに準ずる者で、物性科学に関する研究に携わる者
共同研究者
大学院生等を含む、上記以外の研究者
利用条件
・利用料金は原則として無料
・利用申請には課題申請書を提出
・利用する形態、計算資源の規模に応じて様々な「申請クラス」を用意
・申請された課題はピアレビューにより審査
・審査により、課題の採否、および提供する計算資源を決定
利用ポイント制
計算資源は「ポイント」という形で配布
1ポイント 〜 1ノード日
ディスククォータの上限を上げる場合も消費
University of Tokyo
物性研スパコン共同利用システム (2/3)
4/29
申請クラス種別
大きくわけて「定期申請クラス」と「随時申請クラス」の二種類
定期申請クラス
・Bクラス(小型)、Cクラス(中型)、Eクラス(大型)、Sクラス(特別)
・年2回、6月と12月に受付。利用期間は採択されてから年度末まで。
・12月受け付け→来年度4月より年度末まで利用 (前期)
・6月受け付け→同年10月より年度末まで利用 (後期)
・Sクラスのみ、利用期間は前後期にかかわらず採択されてから1年間
随時申請クラス
・Aクラス(軽量)
・随時申請可能、年度末まで利用可
・お試し利用クラスという位置づけ
・Dクラス(緊急)
・随時申請可能、採択後半年間利用可
・研究の進捗が著しく、緊急に計算資源が必要になった課題向け
University of Tokyo
5/29
物性研スパコン共同利用システム (3/3)
課題代表者
共同利用WEBシステム
課題申請
査読依頼
採択通知
査読結果
査読者
共同利用委員会
共同利用委員長
計算資源割り当て案
割り当て案の承認
University of Tokyo
物性研スパコン運用体制
物性研究所
電子計算機室
6/29
共同利用スパコン
運用管理
物質設計評価施設
設計部
共同利用委員長
運用方針の決定
計算資源配分の承認
共同利用委員会
University of Tokyo
物性研スパコンの歴史 (1/4)
7/29
1960年〜1995年 (スパコン導入以前)
富士通
富士通
富士通
富士通
富士通
富士通
富士通
FACOM 202 (PC2)
FACOM 270-30
FACOM 320-48
FACOM M-160F
FACOM M-360
FACOM M-380R
FACOM M-380
FACOM 202 (パラメトロン式)
※ MシリーズはIBM互換機
主な計算物理:
金属・イオン結晶のバンド計算
量子モンテカルロ法
遷移金属中不純物の電子状態計算
ハバードモデルの数値対角化計算
ハバードモデルの量子モンテカルロ計算
University of Tokyo
8/29
物性研スパコンの歴史 (2/4)
1995年〜2000年 (スパコン第一期)
導入マシン:
富士通 VPP500(40 CPU) [64 GF]
SGI Origin 2000(24CPU)
Intel Paragon(66 CPU) ※ VLIW
2000年〜2005年 (スパコン第二期)
ベクトル機とスカラ機の二本立て
レプリカ交換法
スピングラス問題の数値計算による検証
カーボンナノチューブのエキシトン
ヘテロダイアモンド構造 BC2N の第一原理計算
非平衡緩和法
HITACH SR8000
SGI 2800
システムA (ベクトル):
日立 SR8000/60 [720 GF]
システムB (スカラ):
SGI 2800/384 [230 GF]
量子モンテカルロ法の並列化
経路積分繰り込み法
ハイゼンベルグスピングラス
アンダーソン局在
数値行列対角化法によるアンダーソン局在のスケーリング理論の検証
カーボンナノチューブの電子状態計算
表面への水素原子吸着の第一原理計算
University of Tokyo
9/29
物性研スパコンの歴史 (3/4)
2005年〜2010年 (スパコン第三期)
システムA (ベクトル)
日立 SR11000 [5.8 TF]
システムB (スカラ)
SGI Altix 3700 [7.7 TF] ※ VLIW
※システムBの計算能力>システムA
2バンドハバードモデルの動的平均場近似計算
帯電した表面付近の第一原理分子動力学計算
遷移金属化合物での巨大スピンホール効果
蛋白質結晶における水和効果の分子動力学計算
ナノ構造体の密度汎関数計算
価数転移の量子臨界点近傍に出現する超伝導
ジョセフソン接合配列での非線形電気伝導・レオロジー
2010年〜2015年 (スパコン第四期)
システムA (ベクトル)
NEC SX-9 [6.6 TF]
システムB (スカラ)
SGI Altix ICE 8400EX [180 TF]
SGI Altix ICE
NEC SX-9
※システムBの計算能力>>システムA
カゴメ格子ハイゼンベルグ反強磁性体
高強度パルスレーザー伝播の第一原理計算
遷移金属酸化物の第一原理計算
University of Tokyo
10/29
物性研スパコンの歴史 (4/4)
2013年〜2016年 (システムC)
物性研究所がHPCI戦略プログラム分野2「新物質・エネルギー創成」の代表機関に
物性分野のユーザを「京」に導く
導入マシン:
富士通 FX10 [90.8 TF]
「京」の練習機
2015年〜2020年 (スパコン第五期)
SGI ICE XA/UVハイブリッドシステム
・FATノード 大容量共有メモリ
・CPUノード 分散並列
・ACCノード アクセラレータ (NVIDIA Tesla K40)
「高バンド幅」から「大容量共有メモリ」へ
物性研としては初めてアクセラレータを導入
University of Tokyo
11/29
新システムの紹介 (1/4)
資料提供:日本SGI
University of Tokyo
新システムの紹介 (2/4)
12/29
SGI UV30
FATノード
主記憶 1TB/ノード
4CPU/ノード
× 19ノード
合計760コア/19TB
理論演算性能 31.6 TF
SGI ICEXA
CPUノード
主記憶 128GB/ノード
2CPU/ノード
× 1584ノード
総理論演算性能
2.65 PF
ACCノード
主記憶 128GB/ノード
2CPU/ノード
2GPGPU (NVIDIA K40) /ノード
× 288ノード
44928コア/240TB
理論演算性能 2.62 PF
University of Tokyo
13/29
新システムの紹介 (3/4)
E-‐‑‒CELL ・2台の計算ラック(E-‐‑‒Rack) ・1台のユニファイド冷冷却ラック を収納 E-‐‑‒Rack1台に144ノード搭載可能 Compute
Rack
Cooling
Rack
Compute
Rack
クローズド・ループ・エアフローによる冷冷却 資料提供:日本SGI
University of Tokyo
14/29
新システムの紹介 (3/3)
フロアレイアウト (15ラック構成)
資料提供:日本SGI
University of Tokyo
15/29
新たな取り組み ーソフトウェア高度化ー
学術的・社会的ニーズが高い、物質科学計算用ソフトウェアの開発・高度化
簡便なシミュレーション環境を物性研スパコン上に構築
全国共同利用スパコンユーザー層の底上げと科学的・社会的な課題解決
プロジェクト体制 (2015年4月開始)
◇ 実行メンバー ( 計 4名 ) ※追加人員によって課題解決機能を強化
☆ コーディネータ (1名/ソフトウェア、物性研スタッフ)
☆ プロジェクトマネージャ(デベロッパー兼) (1名)+デベロッパー (1名)
◇ 対象ソフトウェア
公募で募集。物性研スパコン委員会による審査に基づき、年2件採用。
最終的にはオープンソースソフトウェア(OSS)として公開→科学・社会への貢献。
・ 2015年度実績
(実施中) (1) 電子状態計算ソフトウェア:伝導計算機能の拡張
(2) 格子模型計算ソフトウェア:対象モデル・手法の整備・拡張
課題代表・協力者
<応募時>
・ニーズ・目標・作業内容の説明
・OSSでの公開に対する同意
<プロジェクト時>
・ 既存コード・実装内容の説明
・ テスト協力、マニュアルチェック
ソフトウェア開発・高度化
ミーティング <審査時(物性研スパコン委員会)>
(隔週程度) ・ニーズ、将来性、実現性の検討
京コンピュータ
<プロジェクト時>
・スケジュール立案・管理
・機能設計、コーディング、チューニング
・バージョン管理ソフト導入、マニュアル作成
University of Tokyo
16/29
新たな取り組み ーGPGPU移植支援ー
計算物性物理のヘテロジニアスコンピューティング化へ向けて
全国共同利用スパコンユーザーへの技術支援
プロジェクト体制 (2015年8開始)
◇ 実施体制 ※物性研スタッフと導入ベンダーによる総合的な技術支援
☆ 物性研スタッフ
☆ 導入ベンダーのシステムエンジニア数名
◇ 対象ソフトウェア
公募で募集。物性研スパコン委員会による審査に基づき、年3〜5件程度採用
GPGPU化で得られた知見を公開、共有
課題代表・協力者
<応募時>
・ニーズ・目標・作業内容の説明
・物性科学上の重要性
京コンピュータ
<プロジェクト時>
・ 既存コード・実装内容の説明
・ テスト協力
GPGPU移植支援
<審査時(物性研スパコン委員会)>
ミーティング ・ニーズ、将来性、実現性の検討
京コンピュータ
<プロジェクト時>
・コーディング、性能評価
・報告書
・技術ノウハウの公開・共有
University of Tokyo
キューの設計方針 (1/2)
17/29
キューの種類
・デバッグ、インタラクティブキュー (レスポンス重視)
・計算用キュー (スループット重視)
計算資源の割り当て
・キューを計算ノードに物理的に割り当てる
・小規模キューへの割り当ては少なめに
・大規模キューへの割り当ては多めに (旧システムでは課金も優遇)
→ 小規模キューから大規模キューへの移行を奨励
・ラック単位での課金
→ CPUを無駄にすると、課金が無駄になる
→ ジョブがネットワーク構造に「うまく」ハマるように
→ ネットワーク構造に密接したキュー構成
フェアシェア
・一部のユーザによる占有を防ぐ程度
・一週間程度でカルマがほぼゼロとなるパラメータ
University of Tokyo
キューの設計方針 (2/2)
18/29
キューの割り当て
・30ラック中20ラックを主力キューである「ラック占有ジョブ」に割り当て
・ユーザは2ラックまで占有できる
・小規模ジョブも、その大きさにより割り当てを分ける
→ 大小のジョブが共存することによるフラグメンテーションを回避
旧システムでのキュー割り当て
University of Tokyo
ジョブスケジューラの運用について (1/3)
19/29
ジョブを正しく殺せない
ケース1:
現象:
ジョブキャンセルコマンドが「並列プログラム」のみを殺すが、ジョブスクリプトの続きに
スクリプト言語によるデータ処理が記述されており、その処理で/homeのクォータを超え
たため、ジョブのキャンセルができなくなった。
原因:
ジョブキャンセルコマンドがジョブスクリプトそのもののプロセスを殺せなかったため
対策:
ジョブスクリプトそのもののPIDを探索して殺すように修正
ケース2:
現象:
特定のノードに入ったジョブの実行時間が極端に遅い。これまで実行できたジョブがメ
モリ不足で落ちる
原因:
前のユーザの残存プロセスが残っていたため。
対策:
定期的に監視を行い、現在実行中のジョブに起因しないプロセスを強制KILL
University of Tokyo
ジョブスケジューラの運用について(2/3)
20/29
ジョブの待ち時間の推定
現象:
ユーザのジョブの待ち時間が実際より長くカウントされる
原因:
「ステップジョブ」が原因。前のジョブが終わるまで実行を待つジョブが長時間
キューに残るが、その時間もカウントされてしまう。
対策:
いまのところあきらめている。有効な対策を募集中。
University of Tokyo
ジョブスケジューラの運用について(3/3)
21/29
バルクジョブ
目的:
ユーザを大規模キューへの移行を促したい
しかし、コードのMPI化は容易でない
→ パラメータ並列を支援する
要求仕様:
多数の小さいジョブを一つのジョブとしてまとめてキューに投げる
2CPU (8コア)を持つノード、64ノードに対して・・・
例1 (シリアル): シリアルジョブを512個投げる
例2 (flat-MPI): 16プロセスのジョブを4個投げる
例3 (flat-OpenMP): 1プロセス8スレッドのジョブを64個投げる
例4 (ハイブリッド): 2プロセス16スレッドのジョブを32個投げる
例5 (混合):上記を混ぜたもの
また、各ジョブでカレントディレクトリをそれぞれ変えたい
対応:
ベンダーの作り込みで対処。
University of Tokyo
22/29
気泡生成現象の全粒子計算
工学応用上「泡」は厄介者
お湯を沸かす
(加熱による発泡)
スクリューまわりの気泡
(減圧による発泡)
冷却システムで気泡発生→熱交換効率低下
スクリュー周りで気泡発生→騒音や腐食
泡を理解/制御したい
from Wikipedia
泡の発生の研究は難しい
(ナノメートル程度の相互作用がミリ〜センチメートル程度の現象を支配)
from Wikipedia
気泡
気泡表面
分子
マクロ
ミクロ
泡の発生・成長メカニズムを分子レベルから明らかにしたい
古典分子動力学法(MD)による全粒子計算
University of Tokyo
23/29
コード開発 (1/2)
コードの開発
通信
プロセス
プロセス
擬似Flat-MPI法による並列化
スレッド スレッド
スレッド
・スレッド単位で領域分割
・スレッド番号をランクとして扱う
スレッド スレッド
スレッド
メリット:
・Flat-MPIコードからの改修が容易
・ホットスポットでスレッド並列とSIMD化を同時に扱わなくて良い
デメリット:
・通信が全て二段階に
スレッド
スレッド
並列部分のテストはシステムB(SGI Altix)で
カーネル部分のチューニングはシステムC(FUJITSU FX10)で
物性研スパコンから「京」へ
物理としての準備
物性研スパコンで、相図の計算、単一/多重気泡生成条件の洗い出し
東大情報基盤センター FX10で大規模計算のテスト(特にデータIOまわり)
University of Tokyo
24/29
コード開発 (2/2)
作用反作用無視
同じものを二回計算
メモリ転送量が半分に
条件分岐削除
1. 
2. 
3. 
4. 
5. 
1. 
2. 
3. 
4. 
5. 
粒子の距離を計算
ある程度以上遠ければ次のペアへ
粒子間の力を計算
速度を更新
次のペアへ
粒子の距離を計算
粒子間の力を計算
もし距離が遠ければ力をゼロに上書き
速度を更新
次のペアへ
※実際にはソフトウェアパイプライニングというテク
ニックで、予め距離を計算し、判定に間に合わせる
相互作用粒子ソート
同じ粒子と相互作用する粒子をまとめる
メモリ転送量が半分に (レジスタ活用)
除算削除
A1 = 1/C1
A2 = 1/C2
D = 1/(C1*C2)
A1 = D*C2
A2 = D*C1
除算二回を、除算1回乗算3回に変換
除算が遅いアーキテクチャで有効
その他細かいチューニング
除算のSIMD化のため、低精度逆数近似命令(frcpd)と精度補正+
ループアンロール+手でソフトウェアパイプライニング
University of Tokyo
ベンチマーク (1/2)
25/29
500
400
Elapsed Time [sec]
計算条件
3318億粒子
並列化効率72.3%
京コンピュータ
flat-MPI: 8プロセス/ノード
ハイブリッド: 8スレッド/ノード
400万粒子/ノード
最大 3318億粒子
300
200
Flat-MPI
Hybrid
1310億粒子
並列化効率92.0%
100
0
1
8
64
512
Nodes
4096
82944
我々のコードではflat-MPIの方が高速、かつ並列化によるオーバーヘッドも少ない
University of Tokyo
26/29
ベンチマーク (2/2)
メモリ使用量のノード数依存性
9
8
メモリ消費量[(GB]
(1ノードあたり)
Memory Usage [GiB]
計算条件
32768ノード
8.52 GB
39% 増加
7
京コンピュータ
flat-MPI: 8プロセス/ノード
ハイブリッド: 8スレッド/ノード
400万粒子/ノード
最大 3318億粒子
6
5
82944ノード
5.66 GB
2.8% 増加
4
3
Flat-MPI
Hybrid
2
1
0
1
8
64
512
Nodes
4096
82944
ノード数
Flat-MPIはメモリ消費が激しく、超並列計算では事実上ハイブリッド一択
University of Tokyo
27/29
気泡判定とデータフォーマット
気泡の定義
空間を小さなセルに分割
あるスレッショルド密度以下のセルを「気相」と判定
クラスタリングにより「気泡」を定義
Process A
二値化処理
Process B
Liquid
Gas
データフォーマット
気泡
一つのセルに含まれる粒子数をunsigned charで出力
全システムを32.7M個に分割→ 32.7 MB / snap shots.
1000 frames/run → 32.7GB/run
10 runs → 327 GB/total (< 1TB)
気泡判定はポスト処理にて実行
バイトオーダを
気にしなくて良い
University of Tokyo
28/29
気泡生成シミュレーション
中間ステージ
初期ステージ
多重核生成
最終ステージ
気泡間相互作用による「つぶしあい」
単一気泡へ収束
計算規模: 10億粒子の計算。4096ノード☓24時間☓10回 = 100万ノード時間
ミクロ
気泡生成
10 nm
百万粒子
Movie
イマココ
物理現象とスケール
マクロ
多重気泡生成
100 nm
十億粒子
気泡流
1 um
一兆粒子
University of Tokyo
まとめ
29/29
物性研共同利用スパコンの役割
・計算物性物理の中枢として
申請→審査→計算資源提供を行う仕組みを構築した
・計算資源の提供にとどまらない積極的な支援
計算資源とキュー構成
・キューと計算資源のネットワーク構成は密接に関係
・運用しながら柔軟に対応
物性研共同利用スパコンの今後
・時代に即した計算資源の提供
・計算物性物理のあり方についての検討
→ユーザの要望にどう対応していくか
・計算物性分野の「サロン」としての役割
→ハードのまわりには人が集まる
University of Tokyo
Fly UP