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
290
超並列経路探索アルゴリズムで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
900
安全で使いやすいCarPlayアプリの 魅せ方:HIGと実例から学ぶ
navitimejapan
PRO
1
260
見えないユーザの声はログに埋もれている! ~ログから具体的なユーザの体験を数値化した事例紹介~
navitimejapan
PRO
6
3.2k
ユーザーのためなら 『デザイン』 以外にも手を伸ばせる
navitimejapan
PRO
2
1.7k
フツーのIT女子が、 Engineering Managerになるまで
navitimejapan
PRO
3
390
不確実性に打ち勝つOKR戦略/How to manage uncertainty with OKR strategy
navitimejapan
PRO
4
3.8k
アジャイルを小さいままで 組織に広める 二周目 / Agile Transformation in NAVITIME JAPAN iteration 2
navitimejapan
PRO
4
1.4k
変更障害率0%よりも「継続的な学習と実験」を価値とする 〜障害を「起こってはならないもの」としていた組織がDirtの実施に至るまで〜 / DevOps Transformation in NAVITIME JAPAN
navitimejapan
PRO
8
5.8k
Other Decks in Technology
See All in Technology
ソフトとハード両方いけるデータ人材の育て方
waiwai2111
0
150
Eight Engineering Unit 紹介資料
sansan33
PRO
0
6.2k
Models vs Bounded Contexts for Domain Modularizati...
ewolff
0
160
re:Invent2025 セッションレポ ~Spec-driven development with Kiro~
nrinetcom
PRO
2
170
[PR] はじめてのデジタルアイデンティティという本を書きました
ritou
1
800
戰略轉變:從建構 AI 代理人到發展可擴展的技能生態系統
appleboy
0
190
AI に「学ばせ、調べさせ、作らせる」。Auth0 開発を加速させる7つの実践的アプローチ
scova0731
0
240
産業的変化も組織的変化も乗り越えられるチームへの成長 〜チームの変化から見出す明るい未来〜
kakehashi
PRO
1
540
モノタロウ x クリエーションラインで実現する チームトポロジーにおける プラットフォームチーム・ ストリームアラインドチームの 効果的なコラボレーション
creationline
0
790
Scrum Guide Expansion Pack が示す現代プロダクト開発への補完的視点
sonjin
0
610
純粋なイミュータブルモデルを設計してからイベントソーシングと組み合わせるDeciderの実践方法の紹介 /Introducing Decider Pattern with Event Sourcing
tomohisa
1
980
Kusakabe_面白いダッシュボードの表現方法
ykka
0
120
Featured
See All Featured
Prompt Engineering for Job Search
mfonobong
0
140
Are puppies a ranking factor?
jonoalderson
0
2.6k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
740
Why Our Code Smells
bkeepers
PRO
340
58k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
sira's awesome portfolio website redesign presentation
elsirapls
0
110
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
98
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
49
Speed Design
sergeychernyshev
33
1.5k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
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 ご清聴ありがとうございました