jawsdays2017 slide share
TRANSCRIPT
AWS で温暖化シミュレーション!JAWS DAYS 2017
2017/03/11
こんにちは、池上香苗と申します。
JAWS-UG うどん県所属です 転勤族の妻です(こども2人) 趣味は料理、バレーボール (結構ふんわり生活してます) そして、 陸域生態系シミュレーション やってます
Instagram, twitter: @kanae_fi
陸域生態系って?1
陸域:地面のある領域のこと
生態系:ある地域に生育するすべての生物とそれらと相互作用する非生物的要因の総体(出典:キャンベル生物学)
陸域生態系って?2
陸域生態系: terrestrial ecosystem
とっても簡単に言うと、陸の上の生物がどのように生物以外のものとどのように生きているかということ(注:私見です。)→ それを研究する学問が 生態学( ecology ) :生物と環境の相互作用に関する科学的研究 (出典:キャンベル生物学)
陸域生態系のシミュレーション?1
何をするかというと、気象条件や気候からどのような生態系(炭素量、植生など)になるのか計算。
長波放射短波放射気温・湿度降水量大気圧雲量CO2 濃度など
モデル葉の面積光合成量( NPP, GPP など)
※ インプット、アウトプットはモデルによって異なる
陸域生態系のシミュレーション?2
気象・土壌条件 → 植物が育つ?
SEIB-DGVM : http://seib-dgvm.com/oview_j.html
シミュレーションをして何がわかる?
将来予測ができる →温暖化?寒冷化?氷河期突入? →経済活動にどのような影響があるか →予想される未来に対しての準備IPCC: Intergovernmental Panel On Climate Change気候変動に関する政府間パネル
事例1
事例2
事例3
事例4
事例5
シミュレーションモデル1
STEM1 : Structured Terrestrial Ecosystem Model version 1
SEIB-DGVM : Specialy-Explicit-Individual-Base Dynamic-Global-Vegetation-Model
( DGVM :動的全球植生モデル)をベースにしたモデルで、ED : Ecosystem Demography Model の SAS approachを応用。
site
cohort
patch
シミュレーションモデル2
STEM1 : Structured Terrestrial Ecosystem Model version 1
シミュレーションの方法(method)
実験手法 スピンアップ:気象データを 30 年分使って各パラメータが平衡になるまで計算 (だいたい 2000 年程度) スピンアップ後の状態をベースラインデータとして本実験
モデルの解像度 → 空間解像度: 0.5 × 0.5 度 ( 地球を緯度方向 360× 経度方向 720 のメッシュに分割 ) → 時間解像度:日値(1日1データ)
クラウドお遍路 2016でLT しました
ASCII.jp に出てしまった・・・
そこで、こんな話をしました1
環境 Windows7(Home Premium 64bit) 上の仮想マシン OS : Ubuntu 12.04 LTS メモリ: 3GB(host 8GB) CPU: Intel(R) Core(TM)i7-3770 CPU (3.40GHz)
そこで、こんな話をしました2
とにかく、時間がかかる扱うデータが膨大( 0.5degree×0.5degree メッシュ・ 2000 年超)例えば、北緯0〜40度までのシミュレーション:約一週間「京」や「地球シミュレータ」のスペックがほしい
( 京: Wikipedia より転載 )( 地球シミュレータ: JAMSTEC HP より )
理化学研究所計算科学研究機構
「京」 ― プロセッサのスピード、メモリ、通信のバランスがとれたスーパーコンピュータ
スーパーコンピュータ「京」
Top500 2011年 6月と 11月に世界 1位Graph500 2014年 6月と 2015年 7月に世界 1位HPCG 2014年 11月と 2015年 7月に世界 2位
計算ノード CPU SPARC64™ VIIIfx 2GHz
CPU 性能 128 GF(16 GF x 8 cores)
メモリ容量 16 GB
筐体の数 864ノードの数 82,944ネットワーク Tofu インターコネクト
(6D Mesh/Torus)
ピーク性能 10.62 PFメモリ容量 1.26 PBファイルシステム Fujitsu Exabyte File
System (FEFS)ストレージ 30 PB
そこで、こんな話をしました3
JAWS-UG うどん県との出会い → AWS でシミュレーションできるかも? 最小のインスタンスタイプで環境構築 →シミュレーションサイズに応じてタイプ変更 実機がない →子どもが電源ボタンを押す事故が起きない
こんなことやりたいという話もしました
AWS で HPC を利用したい! ( HPC :ハイパフォーマンスコンピューティング) スパコンでするようなシミュレーションを仮想環境で。 → C4 インスタンスからはじめてみる? →クラスターを構成してみる? →スポットインスタンスの利用で低コスト化できる?
すると、出会いがありました
興味を持ってくださった方が! 辻 一郎さん AWS SAMURAI 2015 (今日は別ブースでハンズオン開催中)
5000ドルの AWS のクレジット持ってるけど、つかう?
えっ???
本当に使わせてもらうことになりました。いろんな方に声かけも!!!
そして、こんなことやらせてもらってます1
HPC の利用 →まずは、 C4 インスタンスでやってみました。 インスタンス: c4.xlarge(SSD:8GiB)
EBS : 1TiB, 2TiB HDD( スループット最適化 )OS : ubuntu 16.04.1 LTS 64bit
(リージョンアジアパシフィック)
そして、こんなことやらせてもらってます2
実行するシミュレーションモデル → 言語: fortran → コンパイラ: Intel Fortran Compiler
Do loop いっぱい ポインタ使用
今、こんな感じです1
一回シミュレーションできました。 VM のローカル環境での実行時間: 約7日(だいたい168時間)
C4 インスタンスでの実行時間:
約3 . 4日(82時間)・並列化なし・単純にマシンスペックがよい
今、こんな感じです2
並列化やりたい! Intel Fotran Compiler の自動並列化オプション → 全然並列化できない。 OpenMP のコードを入れる → JAWS-UG HPC支部の方にヒントいただきました。 (たださん、長尾さん、松尾さん、小川さん ありがとうございます!!!) まずはこれを。 MPI がいいかもとの話を複数もらう。 → やっぱり MPI なの? 進捗遅くてごめんなさい。。。
ご静聴ありがとうございました