14
祝!EC2秒単位課金開始 OpenFOAMのジョブを境界条件でsweepして AWS Batchで流しまくる 20171027JAWS-UG HPC#11勉強会

OpenFOAMのジョブを境界条件でsweepしてAWS Batchで流しまくる

Embed Size (px)

Citation preview

祝!EC2秒単位課金開始

OpenFOAMのジョブを境界条件でsweepしてAWS Batchで流しまくる

2017年10月27日 JAWS-UG HPC#11勉強会

白鳥 貴久博士(工学)

サーバーワークス営業部 ビジネスデベロップメント担当

略歴2015年3月 流体力学分野での研究により博士(工学)を取得2015年4月 サーバーワークスに入社2016年3月 技術課に配属 顧客向けの環境構築を担当2017年9月 営業部に配属 主にHPC分野のビジネスデベロップメントを担当

@takashiratori

EC2秒単位請求開始

EC2秒単位請求開始

AWS Batch や Amazon EMR にも適用

1分間の最低料金が請求される

一部のOSには適用されない

1 hour0 1 hour0

(A) (B)

(B)を(A)と同じコストで実行可能

前回のJAWS-UG HPC

AWS Batch とは

AWSが提供する、バッチ処理の 管

理 及び 実行環境

Job, Que, Compute environment

の3つの要素から構成される

QueにJobを投入すると、

Compute environmentとしてEC2

が起動される

EC2は自動的に増減する

Dockerベース

JobJob

Job

Job

Queue

EC2 EC2EC2Environment

AWS Batch

せっかくなので parameter sweep する

ux, in, uy, in, uz, inを少しずつ変化させる

処理の流れ

Min [m/s] Max [m/s] Increment [m/s]

ux, in 1.0 20 1.0

uy, in 0 10 2.0

uz, in 0 10 2.0

(APIエンドポイント)

AWS SDK (boto)

ジョブ投入スクリプト

S3 Bucket

u(x)

u(x)

u(x)

ネットワーク構成

InternetInternet

gateway Ubuntu Bastion

Compute

Environment

u(x)

EC2 Container Registry

(ECR)

※異なるホスト内で稼働するコンテナ間では、MPI通信が(たぶん)できない

自分でやってみたい方はこちら

ドキュメント(ブログ)

http://blog.serverworks.co.jp/tech/2017/10/

23/aws-batch-openfoam/

GitHub

https://github.com/TakahisaShiratori/openfo

am-docker

料金

Instance

type

(A)

vCPU/inst.

(B)

# of inst.

(A)x(B) (C) Ondemand price

$/h/inst.

(D) Spot bid price

$/h/inst.

(B)x(D)

$/h

c4.8xlarge 36 5 180 $1.591 $0.636 $3.182

c4.4xlarge 16 1 16 $0.796 $0.318 $0.318

c4.xlarge 4 1 4 $0.199 $0.080 $0.080

Total 200 $3.58

今回のJobは15分程度で完了するので、$3.58 × (15/60) = $0.895

程度と見積もられる

paraFoamによる計算結果の可視化

paraFoamによる計算結果の可視化

まとめ

Amazon EC2の利用料金が秒単位請求になり、バッチジョブ実行時のコスト

効率が向上した

処理時間が1時間未満の場合、特にコスト削減が期待できる

OpenFOAMのジョブを作成し、境界条件を少しずつ変化させた複数のジョ

ブを投入した

Spot Instanceもうまく活用すべし