Submit Search
Upload
Rabbit Order: Just-in-time Reordering for Fast Graph Analysis
•
2 likes
•
1,180 views
Junya Arai
Follow
Presentation slides used in IPDPS'16.
Read less
Read more
Technology
Report
Share
Report
Share
1 of 39
Download now
Download to read offline
Recommended
ジョブ管理でcronは限界があったので”Rundeck”を使ってハッピーになりました
ジョブ管理でcronは限界があったので”Rundeck”を使ってハッピーになりました
Yukiya Hayashi
Linked Open Data(LOD)の基本的な使い方
Linked Open Data(LOD)の基本的な使い方
Kouji Kozaki
ナレッジグラフ入門
ナレッジグラフ入門
KnowledgeGraph
論文に関する基礎知識2018 差分のみ
論文に関する基礎知識2018 差分のみ
Mai Otsuki
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
KnowledgeGraph
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
Developers Summit
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
Holden Karau
Geopaparazzi実習(Geopaparazziハンズオン)
Geopaparazzi実習(Geopaparazziハンズオン)
Kouichi Kita
Recommended
ジョブ管理でcronは限界があったので”Rundeck”を使ってハッピーになりました
ジョブ管理でcronは限界があったので”Rundeck”を使ってハッピーになりました
Yukiya Hayashi
Linked Open Data(LOD)の基本的な使い方
Linked Open Data(LOD)の基本的な使い方
Kouji Kozaki
ナレッジグラフ入門
ナレッジグラフ入門
KnowledgeGraph
論文に関する基礎知識2018 差分のみ
論文に関する基礎知識2018 差分のみ
Mai Otsuki
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
KnowledgeGraph
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
Developers Summit
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
Holden Karau
Geopaparazzi実習(Geopaparazziハンズオン)
Geopaparazzi実習(Geopaparazziハンズオン)
Kouichi Kita
Docstringを書こう!
Docstringを書こう!
cocodrips
汎用Web API“SPARQL”でオープンデータ検索
汎用Web API“SPARQL”でオープンデータ検索
uedayou
深層リカレントニューラルネットワークを用いた日本語述語項構造解析
深層リカレントニューラルネットワークを用いた日本語述語項構造解析
Hiroki Ouchi
LibreOffice API について
LibreOffice API について
健一 辰濱
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
T. Suwa
ナレッジグラフ/LOD利用技術の入門(後編)
ナレッジグラフ/LOD利用技術の入門(後編)
KnowledgeGraph
グラフデータベース Neptune 使ってみた
グラフデータベース Neptune 使ってみた
Yoshiyasu SAEKI
データサイエンティストの仕事とデータ分析コンテスト
データサイエンティストの仕事とデータ分析コンテスト
Ken'ichi Matsui
Linked Open Data勉強会2020 前編:LODの基礎・作成・公開
Linked Open Data勉強会2020 前編:LODの基礎・作成・公開
KnowledgeGraph
データ可視化の研究って何をしているの︖何の役に立つ︖ #yjbonfire
データ可視化の研究って何をしているの︖何の役に立つ︖ #yjbonfire
Yahoo!デベロッパーネットワーク
Skip list vinay khimsuriya_200430723005
Skip list vinay khimsuriya_200430723005
vinaykhimsuriya1
DBpedia Japaneseとは?
DBpedia Japaneseとは?
National Institute of Informatics (NII)
Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道
Shinsuke Sugaya
Anomaly detection survey
Anomaly detection survey
ぱんいち すみもと
質問応答システム入門
質問応答システム入門
Hiroyoshi Komatsu
SATySFi 最近の発展と目下実装中の変更
SATySFi 最近の発展と目下実装中の変更
T. Suwa
最近のディープラーニングのトレンド紹介_20200925
最近のディープラーニングのトレンド紹介_20200925
小川 雄太郎
Field collapsing/Result groupingについて
Field collapsing/Result groupingについて
Jun Ohtani
独立系研究者としての生き方
独立系研究者としての生き方
博士のシェアハウス
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?
ichirin2501
Big Process for Big Data @ PNNL, May 2013
Big Process for Big Data @ PNNL, May 2013
Ian Foster
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Eiji Sekiya
More Related Content
What's hot
Docstringを書こう!
Docstringを書こう!
cocodrips
汎用Web API“SPARQL”でオープンデータ検索
汎用Web API“SPARQL”でオープンデータ検索
uedayou
深層リカレントニューラルネットワークを用いた日本語述語項構造解析
深層リカレントニューラルネットワークを用いた日本語述語項構造解析
Hiroki Ouchi
LibreOffice API について
LibreOffice API について
健一 辰濱
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
T. Suwa
ナレッジグラフ/LOD利用技術の入門(後編)
ナレッジグラフ/LOD利用技術の入門(後編)
KnowledgeGraph
グラフデータベース Neptune 使ってみた
グラフデータベース Neptune 使ってみた
Yoshiyasu SAEKI
データサイエンティストの仕事とデータ分析コンテスト
データサイエンティストの仕事とデータ分析コンテスト
Ken'ichi Matsui
Linked Open Data勉強会2020 前編:LODの基礎・作成・公開
Linked Open Data勉強会2020 前編:LODの基礎・作成・公開
KnowledgeGraph
データ可視化の研究って何をしているの︖何の役に立つ︖ #yjbonfire
データ可視化の研究って何をしているの︖何の役に立つ︖ #yjbonfire
Yahoo!デベロッパーネットワーク
Skip list vinay khimsuriya_200430723005
Skip list vinay khimsuriya_200430723005
vinaykhimsuriya1
DBpedia Japaneseとは?
DBpedia Japaneseとは?
National Institute of Informatics (NII)
Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道
Shinsuke Sugaya
Anomaly detection survey
Anomaly detection survey
ぱんいち すみもと
質問応答システム入門
質問応答システム入門
Hiroyoshi Komatsu
SATySFi 最近の発展と目下実装中の変更
SATySFi 最近の発展と目下実装中の変更
T. Suwa
最近のディープラーニングのトレンド紹介_20200925
最近のディープラーニングのトレンド紹介_20200925
小川 雄太郎
Field collapsing/Result groupingについて
Field collapsing/Result groupingについて
Jun Ohtani
独立系研究者としての生き方
独立系研究者としての生き方
博士のシェアハウス
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?
ichirin2501
What's hot
(20)
Docstringを書こう!
Docstringを書こう!
汎用Web API“SPARQL”でオープンデータ検索
汎用Web API“SPARQL”でオープンデータ検索
深層リカレントニューラルネットワークを用いた日本語述語項構造解析
深層リカレントニューラルネットワークを用いた日本語述語項構造解析
LibreOffice API について
LibreOffice API について
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
ナレッジグラフ/LOD利用技術の入門(後編)
ナレッジグラフ/LOD利用技術の入門(後編)
グラフデータベース Neptune 使ってみた
グラフデータベース Neptune 使ってみた
データサイエンティストの仕事とデータ分析コンテスト
データサイエンティストの仕事とデータ分析コンテスト
Linked Open Data勉強会2020 前編:LODの基礎・作成・公開
Linked Open Data勉強会2020 前編:LODの基礎・作成・公開
データ可視化の研究って何をしているの︖何の役に立つ︖ #yjbonfire
データ可視化の研究って何をしているの︖何の役に立つ︖ #yjbonfire
Skip list vinay khimsuriya_200430723005
Skip list vinay khimsuriya_200430723005
DBpedia Japaneseとは?
DBpedia Japaneseとは?
Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道
Anomaly detection survey
Anomaly detection survey
質問応答システム入門
質問応答システム入門
SATySFi 最近の発展と目下実装中の変更
SATySFi 最近の発展と目下実装中の変更
最近のディープラーニングのトレンド紹介_20200925
最近のディープラーニングのトレンド紹介_20200925
Field collapsing/Result groupingについて
Field collapsing/Result groupingについて
独立系研究者としての生き方
独立系研究者としての生き方
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?
Similar to Rabbit Order: Just-in-time Reordering for Fast Graph Analysis
Big Process for Big Data @ PNNL, May 2013
Big Process for Big Data @ PNNL, May 2013
Ian Foster
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Eiji Sekiya
Thorny Path to the Large Scale Graph Processing, Алексей Зиновьев (Тамтэк)
Thorny Path to the Large Scale Graph Processing, Алексей Зиновьев (Тамтэк)
Ontico
Thorny path to the Large-Scale Graph Processing (Highload++, 2014)
Thorny path to the Large-Scale Graph Processing (Highload++, 2014)
Alexey Zinoviev
A Lightweight Infrastructure for Graph Analytics
A Lightweight Infrastructure for Graph Analytics
Donald Nguyen
Software tools for calculating materials properties in high-throughput (pymat...
Software tools for calculating materials properties in high-throughput (pymat...
Anubhav Jain
ER 2016 Tutorial
ER 2016 Tutorial
Rim Moussa
Follow the money with graphs
Follow the money with graphs
Stanka Dalekova
Looking into the past - feature extraction from historic maps using Python, O...
Looking into the past - feature extraction from historic maps using Python, O...
James Crone
Time-oriented event search. A new level of scale
Time-oriented event search. A new level of scale
DataWorks Summit/Hadoop Summit
Processing Large Graphs
Processing Large Graphs
Nishant Gandhi
A Production Quality Sketching Library for the Analysis of Big Data
A Production Quality Sketching Library for the Analysis of Big Data
Databricks
ANU ASTR 4004 / 8004 Astronomical Computing : Lecture 7
ANU ASTR 4004 / 8004 Astronomical Computing : Lecture 7
tingyuansenastro
Big Process for Big Data @ NASA
Big Process for Big Data @ NASA
Ian Foster
Frontera: open source, large scale web crawling framework
Frontera: open source, large scale web crawling framework
Scrapinghub
DataEngConf SF16 - High cardinality time series search
DataEngConf SF16 - High cardinality time series search
Hakka Labs
High cardinality time series search: A new level of scale - Data Day Texas 2016
High cardinality time series search: A new level of scale - Data Day Texas 2016
Eric Sammer
How to interactively visualise and explore a billion objects (wit vaex)
How to interactively visualise and explore a billion objects (wit vaex)
Ali-ziane Myriam
Vaex talk-pydata-paris
Vaex talk-pydata-paris
Maarten Breddels
Locality Sensitive Hashing By Spark
Locality Sensitive Hashing By Spark
Spark Summit
Similar to Rabbit Order: Just-in-time Reordering for Fast Graph Analysis
(20)
Big Process for Big Data @ PNNL, May 2013
Big Process for Big Data @ PNNL, May 2013
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Thorny Path to the Large Scale Graph Processing, Алексей Зиновьев (Тамтэк)
Thorny Path to the Large Scale Graph Processing, Алексей Зиновьев (Тамтэк)
Thorny path to the Large-Scale Graph Processing (Highload++, 2014)
Thorny path to the Large-Scale Graph Processing (Highload++, 2014)
A Lightweight Infrastructure for Graph Analytics
A Lightweight Infrastructure for Graph Analytics
Software tools for calculating materials properties in high-throughput (pymat...
Software tools for calculating materials properties in high-throughput (pymat...
ER 2016 Tutorial
ER 2016 Tutorial
Follow the money with graphs
Follow the money with graphs
Looking into the past - feature extraction from historic maps using Python, O...
Looking into the past - feature extraction from historic maps using Python, O...
Time-oriented event search. A new level of scale
Time-oriented event search. A new level of scale
Processing Large Graphs
Processing Large Graphs
A Production Quality Sketching Library for the Analysis of Big Data
A Production Quality Sketching Library for the Analysis of Big Data
ANU ASTR 4004 / 8004 Astronomical Computing : Lecture 7
ANU ASTR 4004 / 8004 Astronomical Computing : Lecture 7
Big Process for Big Data @ NASA
Big Process for Big Data @ NASA
Frontera: open source, large scale web crawling framework
Frontera: open source, large scale web crawling framework
DataEngConf SF16 - High cardinality time series search
DataEngConf SF16 - High cardinality time series search
High cardinality time series search: A new level of scale - Data Day Texas 2016
High cardinality time series search: A new level of scale - Data Day Texas 2016
How to interactively visualise and explore a billion objects (wit vaex)
How to interactively visualise and explore a billion objects (wit vaex)
Vaex talk-pydata-paris
Vaex talk-pydata-paris
Locality Sensitive Hashing By Spark
Locality Sensitive Hashing By Spark
More from Junya Arai
YOU は何して VLDB2020 Tokyo へ? (グラフ編)
YOU は何して VLDB2020 Tokyo へ? (グラフ編)
Junya Arai
Scalable Cooperative File Caching with RDMA-Based Directory Management
Scalable Cooperative File Caching with RDMA-Based Directory Management
Junya Arai
第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文
Junya Arai
IPDPS & HPDC 報告
IPDPS & HPDC 報告
Junya Arai
WWW2014 勉強会 新井担当分
WWW2014 勉強会 新井担当分
Junya Arai
ICDE2014 勉強会 新井担当分
ICDE2014 勉強会 新井担当分
Junya Arai
More from Junya Arai
(6)
YOU は何して VLDB2020 Tokyo へ? (グラフ編)
YOU は何して VLDB2020 Tokyo へ? (グラフ編)
Scalable Cooperative File Caching with RDMA-Based Directory Management
Scalable Cooperative File Caching with RDMA-Based Directory Management
第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文
IPDPS & HPDC 報告
IPDPS & HPDC 報告
WWW2014 勉強会 新井担当分
WWW2014 勉強会 新井担当分
ICDE2014 勉強会 新井担当分
ICDE2014 勉強会 新井担当分
Recently uploaded
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
Lonnie McRorey
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Fwdays
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
2toLead Limited
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
Pixlogix Infotech
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
BookNet Canada
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
Dubai Multi Commodity Centre
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
Curtis Poe
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
LoriGlavin3
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
LoriGlavin3
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
Alex Barbosa Coqueiro
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Commit University
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
Florian Wilhelm
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Sergiu Bodiu
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
LoriGlavin3
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
Mattias Andersson
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
Alan Dix
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
Dilum Bandara
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
gvaughan
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
LoriGlavin3
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
Addepto
Recently uploaded
(20)
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
Rabbit Order: Just-in-time Reordering for Fast Graph Analysis
1.
Copyright© 2016 NTT
Corp. All Rights Reserved. Rabbit Order: Just-in-time Parallel Reordering for Fast Graph Analysis Junya Arai Nippon Telegraph and Telephone Corp. (NTT) Hiroaki Shiokawa Univ. of Tsukuba Takeshi Yamamuro NTT Makoto Onizuka Osaka Univ. Sotetsu Iwamura NTT
2.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 2 Summary • Vertex reordering has been used to improve locality of graph processing • However, overheads of reordering tend to increase end-to-end runtime (= reordering + analysis) • Thus, we propose a fast reordering algorithm, Rabbit Order • Exploit community structures in real-world graphs • Up to 3.5x speedup for PageRank • Including reordering overheads! • Also effective for various graph analysis
3.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 3 Graph analysis To deal with large-scale graphs, performance of various analysis algorithms need to be improved Real-world graphs • Web graphs Over 50B pages*1 • Social graphs 1B users 200B friendships*1 Analysis algorithms • Community detection • Ranking (e.g., PageRank) • Shortest Path • Diameter • Connected components • k-core decomposition • ...... Large-scale Various *1: Andrew+, “Parallel Graph Analytics,” CACM, 59(5), ‘16
4.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 4 Poor locality • Poor locality in memory accesses is a problem common to various analysis algorithms Poor locality causes ... • Frequent cache misses • Frequent inter-core communications • Memory bandwidth saturation • Simultaneous memory access from cores Poor scalability
5.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 5 Memory access example • PageRank until convergence do for each vertex 𝑣 do 𝒔 𝑣 = σ 𝑢∈𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟(𝑣) Τ𝒔[𝑢] degree(𝑢) Accessed elements in array 𝒔 0 1 2 3 4 5 6 7 𝑣 = 0 Access PageRank score 𝒔 of each neighbor 𝒔 0 , 𝒔 2 , 𝒔 4 and 𝒔[7] are accessed when 𝑣 = 0 5 2 0 7 4 1 3 6
6.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 6 Memory access example • PageRank until convergence do for each vertex 𝑣 do 𝒔 𝑣 = σ 𝑢∈𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟(𝑣) Τ𝒔[𝑢] degree(𝑢) Access PageRank score 𝒔 of each neighbor Accessed elements in array 𝒔 0 1 2 3 4 5 6 7 𝑣 = 0 𝑣 = 1 5 2 0 7 4 1 3 6
7.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 7 Memory access example • PageRank until convergence do for each vertex 𝑣 do 𝒔 𝑣 = σ 𝑢∈𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟(𝑣) Τ𝒔[𝑢] degree(𝑢) Access PageRank score 𝒔 of each neighbor Accessed elements in array 𝒔 0 1 2 3 4 5 6 7 𝑣 = 0 𝑣 = 1 𝑣 = 2 5 2 0 7 4 1 3 6
8.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 8 Memory access example • PageRank until convergence do for each vertex 𝑣 do 𝒔 𝑣 = σ 𝑢∈𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟(𝑣) Τ𝒔[𝑢] degree(𝑢) Access PageRank score 𝒔 of each neighbor Accessed elements in array 𝒔 0 1 2 3 4 5 6 7 𝑣 = 0 𝑣 = 1 𝑣 = 2 𝑣 = 3 𝑣 = 4 𝑣 = 5 𝑣 = 6 𝑣 = 7 5 2 0 7 4 1 3 6
9.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 9 Memory access example • PageRank until convergence do for each vertex 𝑣 do 𝒔 𝑣 = σ 𝑢∈𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟(𝑣) Τ𝒔[𝑢] degree(𝑢) Access PageRank score 𝒔 of each neighbor Accessed elements in array 𝒔 0 1 2 3 4 5 6 7 𝑣 = 0 𝑣 = 1 𝑣 = 2 𝑣 = 3 𝑣 = 4 𝑣 = 5 𝑣 = 6 𝑣 = 7 Poor spatial locality Poor temporal locality 5 2 0 7 4 1 3 6
10.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 10 Reordering • Preprocess for optimizing vertex ordering (ID numbering) • No change of analysis algorithms and implementations is required • Improve locality by co-locating neighboring vertices in memory • Existing algorithms: RCM, LLP, Nested Dissection, ... Random ordering High-locality ordering 5 2 0 7 4 1 3 6 0 2 3 1 4 7 6 5
11.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 11 On a reordered graph • PageRank until convergence do for each vertex 𝑣 do 𝒔 𝑣 = σ 𝑢∈𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟(𝑣) Τ𝒔[𝑢] degree(𝑢) Access PageRank score 𝒔 of each neighbor Accessed elements in array 𝒔 0 1 2 3 4 5 6 7 𝑣 = 0 𝑣 = 1 𝑣 = 2 𝑣 = 3 𝑣 = 4 𝑣 = 5 𝑣 = 6 𝑣 = 7 0 2 3 1 4 7 6 5
12.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 12 On a reordered graph • PageRank until convergence do for each vertex 𝑣 do 𝒔 𝑣 = σ 𝑢∈𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑟(𝑣) Τ𝒔[𝑢] degree(𝑢) Access PageRank score 𝒔 of each neighbor Accessed elements in array 𝒔 0 1 2 3 4 5 6 7 𝑣 = 0 𝑣 = 1 𝑣 = 2 𝑣 = 3 𝑣 = 4 𝑣 = 5 𝑣 = 6 𝑣 = 7 0 2 3 1 4 7 6 5 High spatial locality High temporal locality
13.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 13 Problem in reordering • Reordering tends to increase end-to-end runtime • end-to-end = reordering + analysis (e.g., PageRank) • ‘Speedup’ by ahead-of-time reordering Reordering: Slow Analysis: Fast Reorder again when the graph is modified Result 0 2 3 1 4 7 6 5 5 2 0 7 4 1 3 6
14.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 14 Problem in reordering • Reordering tends to increase end-to-end runtime • end-to-end = reordering + analysis (e.g., PageRank) • ‘Speedup’ by ahead-of-time reordering w/o reordering Analysis w/ reordering Reordering Analysis Time Slowdown!!!
15.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 15 Our contribution: Rabbit Order • Reordering algorithm to reduce end-to-end runtime • Speedup by just-in-time reordering w/o reordering Analysis w/ reordering Reordering Analysis Time ReorderingAnalysis Fast reordering High locality& Rabbit Order
16.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 16 Rabbit Order
17.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 17 Two main techniques 1. Hierarchical community-based ordering • For high locality 2. Parallel incremental aggregation • For fast reordering
18.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 18 Two main techniques 1. Hierarchical community-based ordering • For high locality 2. Parallel incremental aggregation • For fast reordering
19.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 19 Community-based ordering • Community: a group of densely connected vertices • Common in real-world graphs (e.g., web, social, ...) • Co-locate vertices within each community in memory (cf. [Prat-Perez ‘11][Boldi+ ‘11]) Accessed elements in array 𝒔 0 1 2 3 4 5 6 7 𝑣 = 0 𝑣 = 1 𝑣 = 2 𝑣 = 3 𝑣 = 4 𝑣 = 5 𝑣 = 6 𝑣 = 7 0 2 3 1 4 7 6 5 Community 1 Vertex 0~4 Community 2 Vertex 5~7 Community 1 Community 2
20.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 20 Community-based ordering • Community: a group of densely connected vertices • Common in real-world graphs (e.g., web, social, ...) • Co-locate vertices within each community in memory (cf. [Prat-Perez ‘11][Boldi+ ‘11]) Real social network http://snap.stanford.edu/data/egonets-Facebook.html Accessed elements in array 𝒔 0 1 2 3 …… 𝑣 = 0 𝑣 = 1 𝑣 = 2 ……
21.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 21 Hierarchy of communities • A community contains inner nested communities • e.g., social network of students • Hierarchy of schools, grades, and classes Real social network http://snap.stanford.edu/data/egonets-Facebook.html
22.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 22 Hierarchical community-based ordering • Hierarchical community co-location for further locality • Recursively co-locate vertices within each inner-community • Inner communities produce denser blocks, higher locality Accessed elements in array 𝒔 0 1 2 3 …… 𝑣 = 0 𝑣 = 1 𝑣 = 2 …… Denser block Real social network http://snap.stanford.edu/data/egonets-Facebook.html
23.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 23 Hierarchical community-based ordering • Hierarchical community co-location for further locality • Recursively co-locate vertices within each inner-community • Inner communities produce denser blocks, higher locality Accessed elements in array 𝒔 0 1 2 3 …… 𝑣 = 0 𝑣 = 1 𝑣 = 2 …… Denser block Real social network http://snap.stanford.edu/data/egonets-Facebook.html How can we obtain hierarchical communities? Reordering time must be short!
24.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 24 Two main techniques 1. Hierarchical community-based ordering • For high locality 2. Parallel incremental aggregation • For fast reordering
25.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 25 Incremental aggregation [Shiokawa+ '13] • Extract hierarchical communities by merging vertex pairs • Fast since it rapidly coarsens the graph, but sequential Merged to a neighbor that most improves modularity 𝑸 2 0 7 4 𝜟𝑸(𝒗 𝟎, 𝒗 𝟐) = 𝟎. 𝟎𝟓𝟐 𝛥𝑄(𝑣0, 𝑣4) = 0.031 𝛥𝑄(𝑣0, 𝑣7) = 0.042 Gain of modularity for merging vertex 𝒖 and 𝒗: 𝛥𝑄 𝑢, 𝑣 = 2 𝑤 𝑢𝑣 2𝑚 − 𝑑𝑒𝑔 𝑢 𝑑𝑒𝑔(𝑣) 2𝑚 2 𝒘 𝒖𝒗 Edge weight between vertex 𝑢 and 𝑣 𝒎 Total number of edges in the graph Community 20 75 4 Community 13 6 5 2 0 7 4 6 3 1 2 7 4 3 1 8 6 2 4 3 [Newman+ ‘04]
26.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 26 Parallelization issues • Naive per-vertex parallelization causes conflicts • Mutex: large overheads • Fine-grained locking (per vertex) is required • Atomic operation: too small operands (16 bytes on x86-64) • Cannot atomically merge vertices • by reattaching edges and removing a one of the vertices 1 2 4 5 6 3 0 Thread 1 Thread 2
27.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 27 Solution: lazy aggregation (1/2) • Lightweight concurrency control by atomic operations • Delay merges until the merged vertex is required • to reduce data size to be atomically modified 1 2 4 5 6 3 0 1 2 4 5 6 3 0 Just register vertices as a community member • This can be performed using compare-and-swap by storing the members in a singly-linked list • All the members are virtually treated as vertex 1 Community Thread 1 Thread 2 1 1
28.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 28 Solution: lazy aggregation (2/2) • Lightweight concurrency control by atomic operations • Delay merges until the merged vertex is required • to reduce data size to be atomically modified 1 2 4 5 6 3 0 Which vertex should vertex 1 be merged to? 1 5 6 3 01 1 Actually merge the members • Only one thread is assigned to each vertex, and so it can merge the members without conflicts Compute 𝜟𝐐 6 2 Thread Thread
29.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 29 Communities to ordering in a hierarchical community-based manner • Construct a dendrogram while extracting communities 1 3 65 7 0 2 4 Community 2 Community 1 Inner community 5 2 0 7 4 1 3 6
30.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 30 Communities to ordering in a hierarchical community-based manner • Construct a dendrogram while extracting communities • Reorder vertices to DFS visit order on it • Vertices in each inner-community are recursively co-located 1 3 65 7 0 2 4 Community 2 Community 1 DFS DFS New ordering 5 6 70 1 2 3 4 Inner community 5 2 0 7 4 1 3 6 0 3 2 1 4 5 6 7
31.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 31 Evaluation
32.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 32 Setup • Xeon E5-2697v2 12 cores x 2 socket / RAM 256GB • Reordering methods for comparison • Graphs Slash SlashBurn [Lim+ TKDE’14] Sequential BFS Unordered parallel BFS [Karantasis+ SC’14] Parallel RCM Unordered parallel RCM [Karantasis+ SC’14] Parallel ND Multithreaded Nested Dissection [LaSalle+ IPDPS’13] Parallel LLP Layered Label Propagation [Boldi+ WWW’11] Parallel Shingle The shingle ordering [Chierichetti+ KDD’09] Parallel Degree Ascending order of degree Parallel Random Random ordering (baseline) - berkstan enwiki ljournal uk-2002 road-usa uk-2005 it-2004 twitter sk-2005 webbase V 0.7M 4.2M 4.8M 18.5M 23.9M 39.5M 41.3M 41.7M 50.6M 118.1M E 7.6M 101.4M 69.0M 298.1M 57.7M 936.4M 1.2B 1.5B 1.9B 1.0B
33.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 33 End-to-end PageRank speedup Rabbit Order yields up to 3.5x (avg. 2.2x) speedup The other methods degrade performance in most cases • End−to−end speedup = PageRank runtime with random ordering Reordering runtime + PageRank runtime • Reordering methods and PageRank are run with 48 threads using HyperThreading 0 0.5 1 1.5 2 2.5 3 3.5 berkstan enwiki ljournal uk-2002 road-usa uk-2005 it-2004 twitter sk-2005 webbase Speedup Rabbit Slash BFS RCM ND LLP Shingle Degree SpeedupSlowdown Best speedup 3.5x
34.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 34 Breakdown of PageRank runtime • Rabbit Order achieves fast reordering and high locality at the same time • Reorder a 1.2B-edge graph in about 12 sec. 0 500 1000 1500 2000 2500 Random Degree Shingle LLP ND RCM BFS Slash Rabbit Runtime [sec] Reordering PageRank Fast Graph: it-2004
35.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 35 Cache misses during PageRank • Competitive with the best state-of-the-art algorithms 0 2E+10 4E+10 6E+10 8E+10 1E+11 1.2E+11 1.4E+11 1.6E+11 1.8E+11 Rabbit Slash BFS RCM ND LLP Shingle Degree Rand #ofcachemisses Graph: it-2004L1 L2 L3
36.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 36 Effectiveness for other analyses • Rabbit Order is effective for various analysis algorithms • Efficiency is affected by computational cost of analyses • It is difficult to amortize the reordering time by short analysis time (e.g., that of DFS and BFS) 0 0.5 1 1.5 2 2.5 3 3.5 DFS BFS Connected components Graph diameter k-core decomposition Speedup Average end-to-end speedup for the 10 graphs Rabbit Slash BFS RCM ND LLP Shingle Degree SlowdownSpeedup Analysis 1-10 sec Analysis 10-100 sec
37.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 37 Scalability of reordering • Highest scalability against the number of threads • Plenty of parallelism in incremental aggregation • Lightweight concurrency control (lazy aggregation) 0 2 4 6 8 10 12 14 16 18 20 Rabbit BFS RCM ND LLP Shingle Degree Avg.speedupvs.1thread Reordering time 12 threads 24 threads 48 threads (HT) Scalable
38.
J. Arai+, "Rabbit
Order: Just-in-time Reordering for Fast Graph Analysis," IPDPS'16. Copyright© 2016 NTT Corp. All Rights Reserved. 38 Conclusion • Reordering improves locality of graph analysis • But existing algorithms tend to increase end-to-end runtime • Rabbit Order reduces the end-to-end runtime by two main techniques: 1. Hierarchical community-based ordering for high locality 2. Parallel incremental aggregation for fast reordering • Up to 3.5x speedup for PageRank • Also effective for various analysis algorithms Implementation available https://git.io/rabbit (for evaluation purposes only)
Download now