19
AWS Premier Night #1, 29th June, 2016 Parallel image processing for fluid mechanics with Lambda 株株株株株株株株株株株株 株株 2 株 株株 株株 AWS Lambda にににににににににににに

AWS Premier Night #1

Embed Size (px)

Citation preview

Page 1: AWS Premier Night #1

AWS Premier Night #1, 29th June, 2016

Parallel image processing for fluid mechanics with Lambda

株式会社サーバーワークス

技術 2 課白鳥 貴久

AWS Lambdaによる流体画像処理の並列化

Page 2: AWS Premier Night #1

About Me

略歴 

2015 年 4 月 サーバーワークスに新卒入社

2016 年 3 月 技術 2 課に配属

白鳥 貴久 , Takahisa Shiratoriサーバーワークス 技術 2 課

Page 3: AWS Premier Night #1

About Me

略歴2015 年 3 月 博士(工学)を取得 研究分野:流体力学 

2015 年 4 月 サーバーワークスに新卒入社

2016 年 3 月 技術 2 課に配属

白鳥 貴久 , Takahisa Shiratoriサーバーワークス 技術 2 課

Page 4: AWS Premier Night #1

流体力学 Fluid Mechanics

流体(液体 , 気体など)がどのように流れるのかを探る

http://www.mdte.jp/laboratory/l_train.html

http://guncanon.web.fc2.com/text/kuriki-01.htm https://www.sbd.jp/case/category/industry/electronics.shtml

Page 5: AWS Premier Night #1

PIV とはなにか

粒子画像流速測定法 (Particle Image Velocimetry, PIV)

PIV

Page 6: AWS Premier Night #1

どのように PIV は流れを計算するか

Page 7: AWS Premier Night #1

どのように PIV は流れを計算するか

Page 8: AWS Premier Night #1

どのように PIV は流れを計算するか

Page 9: AWS Premier Night #1

どのように PIV は流れを計算するか

PIV の弱点• 計算時間が長い

夜始めた計算が翌朝終わっていないなど

N

i

N

j

N

i

N

jmjimji

N

i

N

jmjimji

fg

gYYXXgfYXf

gYYXXgfYXfYXR

1 1 1 1

22

1 1

,,

,,,

似ている ? 似ていない ?→ 相互相関を使って評価する

Page 10: AWS Premier Night #1

並列にすると何がよいのか ?

時間・・・

1 枚目と

2 枚目

直列処理 並列処理

( N: 画像の枚数)

2 枚目と

3 枚目

3 枚目と

4 枚目 今回の構成のねらい• 画像処理を並列化し計算時間を短縮する• 計算時間が 1/(N-1) になるはず

Page 11: AWS Premier Night #1

AWS Lambda とは ?

Lambda function

Page 12: AWS Premier Night #1

AWS Lambda とは ?

Lambda function

S3API Gatewaycronetc…

Page 13: AWS Premier Night #1

AWS Lambda とは ?

Lambda function

S3API Gatewaycronetc…

リクエスト

Page 14: AWS Premier Night #1

AWS Lambda とは ?

Lambda function

S3API Gatewaycronetc…

リクエスト

Page 15: AWS Premier Night #1

単発処理時の構成

準備PIV のコードを Lambda function として保存しておく

処理の流れ1. S3 に画像ファイルを保存

2. 入力 CSV ファイルを S3 に保存

3. Lambda function が発火

4. 流れ分布を CSV として出力

5. 出力 CSV を S3 に保存

1 2

3

4

5

PIV algorithm on Lambda

Page 16: AWS Premier Night #1

並列処理時の構成

処理の流れ

1. 画像ファイルを全て S3 に保存

2. 親 CSV を S3 に保存

3. Lambda function が発火

4. 子 CSV が生成される

12

34

5 6

7

5. 子 CSV が S3 に保存される6. 子 CSV それぞれが Lambda function

を発火させる7. 結果が CSV として S3 に保存される

Page 17: AWS Premier Night #1

見た目良さそうな感じ

エラーっぽいベクトルは後処理で取り除くことも可能

Page 18: AWS Premier Night #1

  単発 並列

    1, 2 枚目 2, 3 枚目 3, 4 枚目メモリサイズ [MB] 1536

タイムアウト [sec] 300

計算時間 [sec] 112 235 234 111

最大使用メモリ [MB] 28 22 23 28

Page 19: AWS Premier Night #1

まとめ

AWS Lambda を使うと , リクエストに応じて処理を起動させる構成を簡単に組むことができる

流体画像処理のような重めの計算でもなんとか AWS Lambda で並列化することができた