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
470
0
Share
超並列経路探索アルゴリズムでP3を使ってみた
AWS EC2 P3 インスタンス ローンチイベントで発表した資料です。
https://pages.awscloud.com/P3-Launch-Event.html
NAVITIME JAPAN
PRO
November 15, 2017
More Decks by NAVITIME JAPAN
See All by NAVITIME JAPAN
つよつよリーダーが 抜けたらどうする? 〜ナビタイムのAgile⽀援組織の変遷〜
navitimejapan
PRO
23
16k
実践ジオフェンス 効率的に開発するために
navitimejapan
PRO
3
1k
安全で使いやすいCarPlayアプリの 魅せ方:HIGと実例から学ぶ
navitimejapan
PRO
1
280
見えないユーザの声はログに埋もれている! ~ログから具体的なユーザの体験を数値化した事例紹介~
navitimejapan
PRO
6
3.3k
ユーザーのためなら 『デザイン』 以外にも手を伸ばせる
navitimejapan
PRO
2
1.8k
フツーのIT女子が、 Engineering Managerになるまで
navitimejapan
PRO
3
430
不確実性に打ち勝つOKR戦略/How to manage uncertainty with OKR strategy
navitimejapan
PRO
4
3.9k
アジャイルを小さいままで 組織に広める 二周目 / Agile Transformation in NAVITIME JAPAN iteration 2
navitimejapan
PRO
4
1.5k
変更障害率0%よりも「継続的な学習と実験」を価値とする 〜障害を「起こってはならないもの」としていた組織がDirtの実施に至るまで〜 / DevOps Transformation in NAVITIME JAPAN
navitimejapan
PRO
8
6k
Other Decks in Technology
See All in Technology
Gaussian Splattingの表現力を拡張する — 高周波再構成とインタラクションへのアプローチ —
gpuunite_official
0
160
10サービス以上のメール到達率改善を地道に継続的に進めている話 / Continue to improve email delivery rates across multiple services
yamaguchitk333
6
1.6k
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.4k
なぜ、私がCommunity Builderに?〜活動期間1か月半でも選出されたワケ〜
yama3133
0
130
ボトムアップの改善の火を灯し続けろ!〜支援現場で学んだ、消えないための3つの打ち手〜 / 20260509 Kazuki Mori
shift_evolve
PRO
2
700
自動テストだけで リリース判断できるチームへ - 鍵はテストの量ではなくリリース判断基準の再設計にあった / Redesigning Release Criteria for Lightweight Releases
ewa
7
3.7k
拝啓、あの夏の僕へ〜あなたも知っているApp Runnerの世界〜
news_it_enj
0
240
データモデリング通り #5オンライン勉強会: AIに『ビジネスの文脈』を教え込むデータモデリング
datayokocho
0
260
要件定義の精度を高めるための型と生成AIの活用 / Using Types and Generative AI to Improve the Accuracy of Requirements Definition
haru860
0
320
ESP32 IoTを動かしながらメモリ使用量を観測してみた話
zozotech
PRO
0
110
Claude Codeウェビナー資料 - AWSの最新機能をClaude Codeで高速に検証する
oshanqq
0
310
QAエンジニアはどうやって プロダクト議論の場に入れるのか?
moritamasami
2
420
Featured
See All Featured
The agentic SEO stack - context over prompts
schlessera
0
770
A Modern Web Designer's Workflow
chriscoyier
698
190k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Crafting Experiences
bethany
1
140
WCS-LA-2024
lcolladotor
0
580
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
Building the Perfect Custom Keyboard
takai
2
750
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
550
Color Theory Basics | Prateek | Gurzu
gurzu
0
310
Typedesign – Prime Four
hannesfritz
42
3k
Thoughts on Productivity
jonyablonski
76
5.1k
Everyday Curiosity
cassininazir
0
200
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 ご清聴ありがとうございました