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
530
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
超並列経路探索アルゴリズムで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
株式会社ナビタイムジャパン 会社紹介資料2026
navitimejapan
PRO
1
590
つよつよリーダーが 抜けたらどうする? 〜ナビタイムのAgile⽀援組織の変遷〜
navitimejapan
PRO
23
16k
実践ジオフェンス 効率的に開発するために
navitimejapan
PRO
3
1.1k
安全で使いやすいCarPlayアプリの 魅せ方:HIGと実例から学ぶ
navitimejapan
PRO
1
300
見えないユーザの声はログに埋もれている! ~ログから具体的なユーザの体験を数値化した事例紹介~
navitimejapan
PRO
6
3.4k
ユーザーのためなら 『デザイン』 以外にも手を伸ばせる
navitimejapan
PRO
2
1.9k
フツーのIT女子が、 Engineering Managerになるまで
navitimejapan
PRO
3
460
不確実性に打ち勝つOKR戦略/How to manage uncertainty with OKR strategy
navitimejapan
PRO
4
4k
アジャイルを小さいままで 組織に広める 二周目 / Agile Transformation in NAVITIME JAPAN iteration 2
navitimejapan
PRO
4
1.6k
Other Decks in Technology
See All in Technology
Genie Codeハンズオン応用編
taka_aki
0
120
Go 1.27 の標準パッケージに uuid が入った!のでいろいろ喋る / go_127_std_go_uuid
convto
1
260
LLM Internals: 언어 모델의 계보와 알고리즘 진화 (2023~2026)
inureyes
PRO
0
630
ラジオの科学
frievea
0
350
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
240
What's new in Go 1.27?
ciarana
0
240
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
20k
DatadogのBits Chatが開発組織にもたらしたもの / What Bits Chat Has Brought Us
sms_tech
1
280
その“隠したつもり”が命取り ── 自前と平文をやめて「正解」に委ねる
kuroneko13
0
130
Head First モブプログラミング / Head First Mobprogramming
takaking22
10
12k
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
3
990
Apache Icebergインフラストラクチャ:ストレージ・カタログ・エンジンの選択肢とClouderaプラットフォームでの実装
tsugiyama
0
120
Featured
See All Featured
Mind Mapping
helmedeiros
PRO
1
320
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
490
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.4k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
450
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
390
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
470
Amusing Abliteration
ianozsvald
1
250
Designing for Timeless Needs
cassininazir
1
450
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
580
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 ご清聴ありがとうございました