$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
超並列経路探索アルゴリズムでP3を使ってみた
Search
NAVITIME JAPAN
PRO
November 15, 2017
Technology
0
59
超並列経路探索アルゴリズムで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
つよつよリーダーが 抜けたらどうする? 〜ナビタイムのAgile⽀援組織の変遷〜
navitimejapan
PRO
23
16k
実践ジオフェンス 効率的に開発するために
navitimejapan
PRO
3
860
安全で使いやすいCarPlayアプリの 魅せ方:HIGと実例から学ぶ
navitimejapan
PRO
1
250
見えないユーザの声はログに埋もれている! ~ログから具体的なユーザの体験を数値化した事例紹介~
navitimejapan
PRO
6
3.2k
ユーザーのためなら 『デザイン』 以外にも手を伸ばせる
navitimejapan
PRO
2
1.6k
フツーのIT女子が、 Engineering Managerになるまで
navitimejapan
PRO
3
380
不確実性に打ち勝つOKR戦略/How to manage uncertainty with OKR strategy
navitimejapan
PRO
4
3.7k
アジャイルを小さいままで 組織に広める 二周目 / Agile Transformation in NAVITIME JAPAN iteration 2
navitimejapan
PRO
4
1.4k
変更障害率0%よりも「継続的な学習と実験」を価値とする 〜障害を「起こってはならないもの」としていた組織がDirtの実施に至るまで〜 / DevOps Transformation in NAVITIME JAPAN
navitimejapan
PRO
8
5.7k
Other Decks in Technology
See All in Technology
MapKitとオープンデータで実現する地図情報の拡張と可視化
zozotech
PRO
1
120
21st ACRi Webinar - Univ of Tokyo Presentation Slide (Shinya Takamaeda)
nao_sumikawa
0
120
ML PM Talk #1 - ML PMの分類に関する考察
lycorptech_jp
PRO
1
700
pmconf2025 - 他社事例を"自社仕様化"する技術_iRAFT法
daichi_yamashita
0
780
Bakuraku Engineering Team Deck
layerx
PRO
12
7k
直接メモリアクセス
koba789
0
280
AI 駆動開発勉強会 フロントエンド支部 #1 w/あずもば
1ftseabass
PRO
0
120
【pmconf2025】PdMの「責任感」がチームを弱くする?「分業型」から全員がユーザー価値に本気で向き合う「共創型開発チーム」への変遷
toshimasa012345
0
260
re:Invent2025 コンテナ系アップデート振り返り(+CloudWatchログのアップデート紹介)
masukawa
0
300
非CUDAの悲哀 〜Claude Code と挑んだ image to 3D “Hunyuan3D”を EVO-X2(Ryzen AI Max+395)で動作させるチャレンジ〜
hawkymisc
1
160
意外とあった SQL Server 関連アップデート + Database Savings Plans
stknohg
PRO
0
290
小さな判断で育つ、大きな意思決定力 / 20251204 Takahiro Kinjo
shift_evolve
PRO
1
570
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
A Modern Web Designer's Workflow
chriscoyier
698
190k
4 Signs Your Business is Dying
shpigford
186
22k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.8k
What's in a price? How to price your products and services
michaelherold
246
12k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.4k
Statistics for Hackers
jakevdp
799
230k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Agile that works and the tools we love
rasmusluckow
331
21k
Bash Introduction
62gerente
615
210k
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 ご清聴ありがとうございました