AWS EC2 P3 インスタンス ローンチイベントで発表した資料です。 https://pages.awscloud.com/P3-Launch-Event.html
超並列経路探索アルゴリズムでP3を使ってみた株式会社ナビタイムジャパン小田中 育生吉濱 誠2017.11.091NAVITIME JAPAN Co., Ltd.
View Slide
アジェンダ 自己紹介 ナビタイムについて P3インスタンス評価方法 G2 vs P3 考察 コストについて まとめ2NAVITIME JAPAN Co., Ltd.
自己紹介NAVITIME JAPAN Co., Ltd.3
自己紹介NAVITIME JAPAN Co., Ltd.4株式会社ナビタイムジャパン開発部 部長ACTS(研究開発) ルートグループ責任者小田中 育生経路探索エンジン研究開発グループ責任者20162017経路探索エンジン、交通情報配信システムの開発
自己紹介NAVITIME JAPAN Co., Ltd.5Pepperアプリ開発や、Cognitive Serviceを積極的に活用したチャットボットの開発を担当2016GPGPUを利用した超並列探索アルゴリズムのプロトタイプ開発を担当2017サーバサイドAPI開発、経路探索エンジンの開発株式会社ナビタイムジャパン開発部ACTS(研究開発) シニアエンジニア吉濱 誠
ナビタイムについてNAVITIME JAPAN Co., Ltd.6
経営ビジョンNAVITIME JAPAN Co., Ltd.7安心・安全な移動の支援移動にかかるストレスをなくし、ひとりひとりの限られた時間の中に、より有益な時間が生まれること
NAVITIME JAPAN Co., Ltd.8サービス概要(2017年9月末時点)
NAVITIME JAPAN Co., Ltd.9サービス概要
経路探索にGPUを利用する 月間ユーザ数の増加3700万人(2017年6月末) → 3900万人(2017年9月末)処理時間の高速化が必要 経路品質の向上既存アルゴリズムでは出てこない経路が出るようになる品質、処理速度の向上のため、経路探索をパラダイムシフトする10
P3インスタンス評価方法NAVITIME JAPAN Co., Ltd.11
P3インスタンス評価方法NAVITIME JAPAN Co., Ltd.12• 全国のネットワーク(2700万リンク)に対して1スレッドずつ割り当てる• つまり1探索イテレーションで2700万スレッド• 探索処理は変数の代入のみ• ネットワークデータの容量は2.6GB全てGPUに載せる
結果NAVITIME JAPAN Co., Ltd.13
g2.2xlarge(Kepler K80) VS p3.2xlarge(Volta V100)NAVITIME JAPAN Co., Ltd.14探索理処速度は380%、メモリ転送速度は220%高速化
考察NAVITIME JAPAN Co., Ltd.15
考察 経路探索問題はメモリの連続性が低いため、パフォーマンス向上の主要因はSM数だと思われるg2.2xlarge(Kepler K80) : 13p3.2xlarge(Volta V100) : 80 メモリ転送速度はメモリ帯域幅が主要因と考えられるg2.2xlarge(Kepler K80) : 240 [GB/s]p3.2xlarge(Volta V100) : 900 [GB/s]NAVITIME JAPAN Co., Ltd.16
コストについてNAVITIME JAPAN Co., Ltd.17
インスタンスの料金NAVITIME JAPAN Co., Ltd.18オンデマンドリザーブドインスタンス1年前払い(実質的時間単価)スポットインスタンスLinuxg2.2xlarge 0.898 $/h0.587 $/h0.254 $/h~ max 8.98 $/hp2.xlarge 1.542 $/h1.080 $/h0.257 $/h~ max 15.42 $/hp3.2xlarge 5.243 $/h3.427 $/h0.689 $/h~ max 52.43 $/h※2017.11.01時点での情報
インスタンスの料金NAVITIME JAPAN Co., Ltd.19オンデマンドリザーブドインスタンス1年前払い(実質的時間単価)スポットインスタンスLinuxg2.2xlarge 0.898 $/h0.587 $/h0.254 $/h~ max 8.98 $/hp2.xlarge 1.542 $/h1.080 $/h0.257 $/h~ max 15.42 $/hp3.2xlarge 5.243 $/h3.427 $/h0.689 $/h~ max 52.43 $/h※2017.11.01時点での情報
インスタンスの料金NAVITIME JAPAN Co., Ltd.20オンデマンドリザーブドインスタンス1年前払い(実質的時間単価)スポットインスタンスLinuxg2.2xlarge 0.898 $/h0.587 $/h0.254 $/h~ max 8.98 $/hp2.xlarge 1.542 $/h1.080 $/h0.257 $/h~ max 15.42 $/hp3.2xlarge 5.243 $/h3.427 $/h0.689 $/h~ max 52.43 $/h※2017.11.01時点での情報
インスタンスの料金NAVITIME JAPAN Co., Ltd.21オンデマンドリザーブドインスタンス1年前払い(実質的時間単価)スポットインスタンスLinuxg2.2xlarge 0.898 $/h0.587 $/h0.254 $/h~ max 8.98 $/hp2.xlarge 1.542 $/h1.080 $/h0.257 $/h~ max 15.42 $/hp3.2xlarge 5.243 $/h3.427 $/h0.689 $/h~ max 52.43 $/h※2017.11.01時点での情報
スポットインスタンスをメインに運用を考えるNAVITIME JAPAN Co., Ltd.22• スポットインスタンスを利用すると性能差3.8倍のインスタンスを2.7倍のコストで利用できる• 可用性の保険としてリザーブドインスタンス、スケールアウト速度の保険としてオンデマンドを併用することでトータルのコストを性能差以内に抑えられそう
スポットインスタンスをメインに運用を考える…?NAVITIME JAPAN Co., Ltd.23• P3インスタンス使われだしている模様• サーバ用途は厳しいかも…• 現状では機械学習用途の方が相性がいい気もする• スポットインスタンスの価格安定性を考えるとP2の方がサーバ用途としては良さそうp2.xlargep3.2xlarge
まとめNAVITIME JAPAN Co., Ltd.24
まとめ P3インスタンスを使うことで処理速度が3.8倍、メモリ転送速度が2.2倍になることが分かった コストも処理速度の性能向上とほぼリニアなため、インスタンスの種類を工夫することで現実的な運用ができそうNAVITIME JAPAN Co., Ltd.25
NAVITIME JAPAN Co., Ltd.26ご清聴ありがとうございました