Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
超並列経路探索アルゴリズムでP3を使ってみた
Search
NAVITIME JAPAN
PRO
November 15, 2017
Technology
0
32
超並列経路探索アルゴリズムでP3を使ってみた
AWS EC2 P3 インスタンス ローンチイベントで発表した資料です。
https://pages.awscloud.com/P3-Launch-Event.html
NAVITIME JAPAN
PRO
November 15, 2017
Tweet
Share
More Decks by NAVITIME JAPAN
See All by NAVITIME JAPAN
見えないユーザの声はログに埋もれている! ~ログから具体的なユーザの体験を数値化した事例紹介~
navitimejapan
PRO
6
1.7k
ユーザーのためなら 『デザイン』 以外にも手を伸ばせる
navitimejapan
PRO
2
1k
フツーのIT女子が、 Engineering Managerになるまで
navitimejapan
PRO
3
130
不確実性に打ち勝つOKR戦略/How to manage uncertainty with OKR strategy
navitimejapan
PRO
4
3k
アジャイルを小さいままで 組織に広める 二周目 / Agile Transformation in NAVITIME JAPAN iteration 2
navitimejapan
PRO
4
1.2k
変更障害率0%よりも「継続的な学習と実験」を価値とする 〜障害を「起こってはならないもの」としていた組織がDirtの実施に至るまで〜 / DevOps Transformation in NAVITIME JAPAN
navitimejapan
PRO
7
4.8k
こうしてふりかえりは終わってしまった / A Demise of a retrospective
navitimejapan
PRO
44
27k
もーひとつの時間がない症候群 / Yet Another SOT Syndrome
navitimejapan
PRO
1
2.1k
シーズン2〜スクラムチームのバトンを渡す〜 / Season 2 -pass the button of a scrum team-
navitimejapan
PRO
2
2.9k
Other Decks in Technology
See All in Technology
AWSでRAGを作る法方
sonoda_mj
1
140
テスト・設計研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
170
楽しくGoを学び合う、LayerXの勉強会文化 / LayerX's study culture of having fun and learning Go together
ar_tama
2
350
Scaling Technical Excellence at 104: Evolution in AWS and Developer Empowerment
scotthsieh825
1
150
E2Eテスト自動化プラットフォームにおけるAIの活用
shift_evolve
0
190
データベース研修 分析向けSQL入門【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
110
AWSサービスメニュー開発をしていてAWSを好きだ!と感じた瞬間
toru_kubota
0
130
AWS IAMのアンチパターン/AWSが考える最低権限実現へのアプローチ概略(JAWS-UG朝会#59資料改修20分版)
htan
0
330
データ分析基盤を作ってみよう~設計編~
nrinetcom
PRO
1
110
Flutter研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
160
データベース研修 DB基礎【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
210
AOAI Dev Day - Opening Session
yoshidashingo
2
460
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
360
22k
The World Runs on Bad Software
bkeepers
PRO
63
11k
Designing with Data
zakiwarfel
96
5k
KATA
mclloyd
20
13k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.3k
How GitHub (no longer) Works
holman
305
140k
The Brand Is Dead. Long Live the Brand.
mthomps
52
36k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
78
15k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
16
1.6k
A better future with KSS
kneath
231
17k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
17
1.5k
Transcript
超並列経路探索アルゴリズムで P3を使ってみた 株式会社ナビタイムジャパン 小田中 育生 吉濱 誠 2017.11.09 1 NAVITIME
JAPAN Co., Ltd.
アジェンダ 自己紹介 ナビタイムについて P3インスタンス評価方法 G2 vs
P3 考察 コストについて まとめ 2 NAVITIME JAPAN Co., Ltd.
自己紹介 NAVITIME JAPAN Co., Ltd. 3
自己紹介 NAVITIME JAPAN Co., Ltd. 4 株式会社ナビタイムジャパン 開発部 部長 ACTS(研究開発)
ルートグループ責任者 小田中 育生 経路探索エンジン研究開発グループ責任者 2016 2017 経路探索エンジン、交通情報配信システムの開発
自己紹介 NAVITIME JAPAN Co., Ltd. 5 Pepperアプリ開発や、Cognitive Serviceを積極的に活用したチャットボットの開発を担当 2016 GPGPUを利用した超並列探索アルゴリズムのプロトタイプ開発を担当
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) : 13 p3.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年前払い (実質的時間単価)
スポットインスタンス Linux g2.2xlarge 0.898 $/h 0.587 $/h 0.254 $/h ~ max 8.98 $/h p2.xlarge 1.542 $/h 1.080 $/h 0.257 $/h ~ max 15.42 $/h p3.2xlarge 5.243 $/h 3.427 $/h 0.689 $/h ~ max 52.43 $/h ※2017.11.01時点での情報
インスタンスの料金 NAVITIME JAPAN Co., Ltd. 19 オンデマンド リザーブドインスタンス 1年前払い (実質的時間単価)
スポットインスタンス Linux g2.2xlarge 0.898 $/h 0.587 $/h 0.254 $/h ~ max 8.98 $/h p2.xlarge 1.542 $/h 1.080 $/h 0.257 $/h ~ max 15.42 $/h p3.2xlarge 5.243 $/h 3.427 $/h 0.689 $/h ~ max 52.43 $/h ※2017.11.01時点での情報
インスタンスの料金 NAVITIME JAPAN Co., Ltd. 20 オンデマンド リザーブドインスタンス 1年前払い (実質的時間単価)
スポットインスタンス Linux g2.2xlarge 0.898 $/h 0.587 $/h 0.254 $/h ~ max 8.98 $/h p2.xlarge 1.542 $/h 1.080 $/h 0.257 $/h ~ max 15.42 $/h p3.2xlarge 5.243 $/h 3.427 $/h 0.689 $/h ~ max 52.43 $/h ※2017.11.01時点での情報
インスタンスの料金 NAVITIME JAPAN Co., Ltd. 21 オンデマンド リザーブドインスタンス 1年前払い (実質的時間単価)
スポットインスタンス Linux g2.2xlarge 0.898 $/h 0.587 $/h 0.254 $/h ~ max 8.98 $/h p2.xlarge 1.542 $/h 1.080 $/h 0.257 $/h ~ max 15.42 $/h p3.2xlarge 5.243 $/h 3.427 $/h 0.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.xlarge p3.2xlarge
まとめ NAVITIME JAPAN Co., Ltd. 24
まとめ P3インスタンスを使うことで処理速度が3.8倍、メモ リ転送速度が2.2倍になることが分かった コストも処理速度の性能向上とほぼリニアなため、 インスタンスの種類を工夫することで現実的な運用 ができそう NAVITIME JAPAN
Co., Ltd. 25
NAVITIME JAPAN Co., Ltd. 26 ご清聴ありがとうございました