SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
G-Store:
High Performance Graph Store for
Trillion-edge Processing
Pradeep Kumar and H. Howie Huang
The George Washington University
Introduction
 Graph is everywhere
 Applications include
• Social Networks
• Computer Networks
• Protein Structures
• Recommendation Systems
• And many more …
 Graph size is reaching to Trillion edges
2
Motivation
3
Trillion-edge graph
Lower capacity but Fast access
Higher capacity but Slow access
+=
Outline
4
01 - Observations
02 – G-Store
Architecture
03 - Experiment
04 – Conclusion and QA
Observation 1: Graph Size
 PageRank algorithm on Kron-28-16 graph
• 228 vertices
• 233 edges
 Graph sizes vary
• 128GB if using 16-byte for an edge-tuple
• 64GB for 8-byte edge-tuple
 Smaller graph size leads to better performance
5
0
0.5
1
1.5
2
2.5
16-Byte 8-Byte
Speedup
Size of edge-tuple
Observation 2: Metadata Access Localization
 PageRank on 2-D partitioned graph
 In-memory processing performance
 Partition count affects metadata locality
6
0
0.5
1
1.5
Speedup
Number of Partitions
(0,1)(0,3),
(1,0),(1,2),
(2,1),(3,0)
(0,4),(1,4),
(2,4)
(4,0),(4,1),
(4,2)
(4,5),(5,4),
(5,6),(5,7),
(6,5),(7,5)
2
3
1
54
0
7
6
Observation 3: Streaming Memory Size
 Small streaming memory does not significantly affect IO performance
 Use rest of the memory for caching to improve algorithm performance
7
0
0.2
0.4
0.6
0.8
1
1.2
8 16 32 64 128 256 368 512
Speedup
Streaming memory size (in MB)
G-Store
8
Symmetry
01 Graph Size
SNB Format
Tile-based
Representation
Graph Algorithm
On-Disk Grouping
And Tile-based I/O
Storage Devices
Memory
Management
G-Store
Grouping
02 Metadata
On-Disk Layout
Proactive Caching
03 Memory
Slide-Cache-Rewind
Tile-based Representation
9
(a) Example graph
(b) Edge-list
4 0 2 4 1 4 0 0 21 3 51 4
0 1 1 1 2 2 3 4 40 0 44 5
7 56 5
5 65 7
2
3
1
54
0
7
6
(0,1),(0,3),(1,0),
(1,2),(2,1),(3,0)
(0,4),(1,4),(2,4)
partition[0,0] partition[0,1]
(4,0),(4,1),(4,2) (4,5),(5,4),(5,6),
(5,7),(6,5),(7,5)
partition[1,0] partition[1,1]
(e) Smallest Number of Bits (SNB) Format
(0, 1), (0, 3),
(1, 2)
(0, 4), (1, 4),
(2, 4)
Tile[0, 0] Tile[0, 1]
(4, 5), (5, 6),
(5, 7)
Tile[1, 1]
(0x00, 0x01), (0x00, 0x11),
(0x01, 0x10)
(0x00, 0x00), (0x01, 0x00),
(0x10, 0x00)
Tile[0x0, 0x0] Tile[0x0, 0x1]
(0x00, 0x01), (0x01, 0x10),
(0x01, 0x11)
Tile[0x1, 0x1]
(c) 2-D Partitioned Graph
(d) Symmetry advantage
Tile Advantages
 G-Store achieves upto 8x space saving
• 2x due to Symmetry
• Upto 4x due to Smallest Number of Bit representation (SNB)
 Processing can run directly on top of the SNB format with no need
for conversion
• Use a new relative pointer per tile for each algorithmic metadata
• Please refer to the paper for details
10
Small Algorithm Change Needed for Tile
11
Forward
Direction
Backward
Direction
Tile Properties
 Tile size of Twitter graph
• Power law distribution
 Tile metadata size
• All smaller than LLC
12
Algorithm Metadata Size
Page-Rank 256KB
Connected Components 256KB
BFS 64KB
Grouping and On-disk Layout
 Combine q*q tiles into a physical
group
 Layout of tiles in disk
• Reading tiles sequentially provides better
hit ratios on LLC
 Tile is a basic unit for Data Fetching,
Processing and Caching
 Use Linux AIO
13
0 q 2*q g = p/q
0
q
2*q
PageRank-value
Physical-group
g = p/q
Disk-layout of tiles in a physical group
Grouping and On-disk Layout: Advantage
14
0
100
200
300
LLC Operations LLC Misses
Billions
32*32 64*64 128*128 256*256 512*512 1024*1024
0
0.5
1
1.5
2
32*32 64*64 128*128 256*256 512*512 1024*1024
Speedup
Group Composition (Tiles Count)
 256*256 grouping has fewest LLC operations (loads, store) and misses
 Improves performance by 57%
Proactive Caching
 Divide memory into streaming and caching
 Rule 1: at the end of the processing of row[i]
• We know whether row[i] would be processed in the next iteration
• Hints can be used later
 Rule 2: if row[i] is not needed for next iteration
• Then we know that Tile[i,i] will not be needed
• We only have partial information about other individual tiles
15
(0, 1), (0, 3),
(1, 2)
(0, 4), (1, 4),
(2, 4)
Tile[0, 0] Tile[0, 1]
(4, 5), (5, 6),
(5, 7)
Tile[1, 1]
Row[0]
Row[1]
Slide-cache-rewind
16
Processing IO Free Memory
Cache pool Processing IO
Cache pool Processing IO Free Memory
T1
T3
Ti
IO Free MemoryT0
Slide
Slide-cache-rewind
17
Cache pool (useful data ) IO(S1) Processing(S2)
Proactive Caching
Ti+1
Cache pool (useful data ) Processing ProcessedTn
Cache pool (processing) Processing Unprocessed
Cache-pool IO(S1) Processing(S2)
(T+1)0
(T+1)1
Proactive Caching
Rewind
 Less IO due to reuse
 Provide hints for proactive caching policy
 Evict unwanted data from cache pool
Experimental Setup
 Dual Intel Xeon CPU E5-2683, 14 core each, hyper-threading
enabled = 56 threads
 8GB streaming and caching memory
 Cache
• 32KB data and instruction L1 cache
• 256KB L2 cache
• 16MB L3 cache
 LSI SAS9300-8i HBA, 8 Samsung EVO 850 512GB SSD
 Linux Software RAID0 with 64KB stripe size
18
Graph Datasets & Space Saving
Graph Name Type X-Stream
Size
FlashGraph
Size
G-Store
Size
Space Saving
Over X-
Stream
Space Saving
Over
FlashGraph
Kron31-256 Undirected 8TB 4TB 2TB 4x 2x
Kron-33-16 Undirected 4TB 2TB 512GB 8x 4x
Kron-30-16 Undirected 256GB 128GB 64GB 4x 2x
Kron-28-16 Undirected 64GB 32GB 16GB 4x 2x
Rmat-28-16 Undirected 64GB 32GB 16GB 4x 2x
Random-27-32 Undirected 64GB 32GB 16GB 4x 2x
Twitter (Un-)Directed 14.6GB 14.6GB 7.3GB 4x 2x
Friendster (Un-)Directed 19.26GB 19.26GB 9.63GB 4x 2x
Subdomain (Un-)Directed 15.22GB 15.22GB 7.6GB 4x 2x
19
Performance on Trillion-edge Graph
 Kron-31-256: 231 vertices with 240 edges
 Kron-33-16: 233 vertices with 238 edges
 One iteration of Pagerank:
• G-Store: 14 min in a single machine for a trillion-edge graph
• Ching et al*: 3 min using 200 machines for similar-sized graph
*Ching et al. One Trillion Edges: Graph Processing at Facebook-scale. Proceedings of the 41st
International Conference on Very Large Data Bases(VLDB15)
20
Graph BFS Page-rank WCC
Kron-31-256 2548.54 4214.54 1925.13
Kron-33-16 1509.13 1882.88 849.05
Performance Comparison
 Over X-Stream
• 17x(BFS), 21x (PageRank), 32x(CC/WCC) speedup for Kron-28-16
• Others are similar. See paper for details.
21
0
0.5
1
1.5
2
2.5
Speedup
BFS Pagerank CC/WCC
FlashGraph G-Store
 Over FlashGraph
• 1.5x (CC/WCC), 2x (PageRank), 1.4x (BFS, undirected)
• Slightly poor for BFS on directed graph due to no space saving in smaller
graph
Scalability on SSDs
 RAID0: 64K stripe size
 Close to 4x speedup for 4-SSDs
 Upto 6x speedup for 8-SSDs
• PageRank becomes compute intensive at 8-SSD configuration
22
0
2
4
6
8
BFS Pagerank WCC
Speedup
1 SSD 2 SSDs 4 SSDs 8 SSDs
Slide-Cache-Rewind
 Base Policy (No cache): 4GB segment size (two)
 Cache+Rewind Policy: 7.5GB cache, 256MB segments (two)
 60% (BFS), 35% (PageRank) and 35% (WCC)
23
0
0.5
1
1.5
2
BFS Pagerank WCC
Speedup
Base Policy Cache+Rewind Policy
Cache Size
 For Kron-28-16 graph from 1GB to 8GB
• Average 30% speedup
 For Twitter graph from 1GB to 4GB
• Average 41% speedup
24
0
0.5
1
1.5
2
BFS Pagerank WCC BFS Pagerank WCC
Speedup
Kron-28-16 Twitter
1GB 2GB 4GB 8GB
Conclusion
 SNB: Space efficient representation
 Grouping: Optimal utilization of hardware cache
 Slide: Complete overlapping of IO and compute
 Cache: Graph specific proactive caching policy
 Rewind: Using the last drop of memory
25
Thank You
 Email: pradeepk@gwu.edu and howie@gwu.edu
 Graph software repository
• https://github.com/iHeartGraph/
• G-Store: High-Performance Graph Store for Trillion-Edge
Processing (SC’16)
• Enterprise: Breadth-First Graph Traversal on GPUs (SC’15)
• iBFS: Concurrent Breadth-First Search on GPUs (SIGMOD’16)
26

Weitere ähnliche Inhalte

Was ist angesagt?

Enhancing Spark SQL Optimizer with Reliable Statistics
Enhancing Spark SQL Optimizer with Reliable StatisticsEnhancing Spark SQL Optimizer with Reliable Statistics
Enhancing Spark SQL Optimizer with Reliable StatisticsJen Aman
 
Surge: Rise of Scalable Machine Learning at Yahoo!
Surge: Rise of Scalable Machine Learning at Yahoo!Surge: Rise of Scalable Machine Learning at Yahoo!
Surge: Rise of Scalable Machine Learning at Yahoo!DataWorks Summit
 
GeoMesa: Scalable Geospatial Analytics
GeoMesa:  Scalable Geospatial AnalyticsGeoMesa:  Scalable Geospatial Analytics
GeoMesa: Scalable Geospatial AnalyticsVisionGEOMATIQUE2014
 
[Paper Reading] Steering Query Optimizers: A Practical Take on Big Data Workl...
[Paper Reading] Steering Query Optimizers: A Practical Take on Big Data Workl...[Paper Reading] Steering Query Optimizers: A Practical Take on Big Data Workl...
[Paper Reading] Steering Query Optimizers: A Practical Take on Big Data Workl...PingCAP
 
Generalized Linear Models with H2O
Generalized Linear Models with H2O Generalized Linear Models with H2O
Generalized Linear Models with H2O Sri Ambati
 
Hi Speed Datawarehousing
Hi Speed DatawarehousingHi Speed Datawarehousing
Hi Speed DatawarehousingJos van Dongen
 
WBDB 2014 Benchmarking Virtualized Hadoop Clusters
WBDB 2014 Benchmarking Virtualized Hadoop ClustersWBDB 2014 Benchmarking Virtualized Hadoop Clusters
WBDB 2014 Benchmarking Virtualized Hadoop Clusterst_ivanov
 
WMS Performance Shootout 2011
WMS Performance Shootout 2011WMS Performance Shootout 2011
WMS Performance Shootout 2011Jeff McKenna
 
Block Sampling: Efficient Accurate Online Aggregation in MapReduce
Block Sampling: Efficient Accurate Online Aggregation in MapReduceBlock Sampling: Efficient Accurate Online Aggregation in MapReduce
Block Sampling: Efficient Accurate Online Aggregation in MapReduceVasia Kalavri
 
Massive Simulations In Spark: Distributed Monte Carlo For Global Health Forec...
Massive Simulations In Spark: Distributed Monte Carlo For Global Health Forec...Massive Simulations In Spark: Distributed Monte Carlo For Global Health Forec...
Massive Simulations In Spark: Distributed Monte Carlo For Global Health Forec...Jen Aman
 
Big Linked Data Interlinking - ExtremeEarth Open Workshop
Big Linked Data Interlinking - ExtremeEarth Open WorkshopBig Linked Data Interlinking - ExtremeEarth Open Workshop
Big Linked Data Interlinking - ExtremeEarth Open WorkshopExtremeEarth
 
Why PostgreSQL for Analytics Infrastructure (DW)?
Why PostgreSQL for Analytics Infrastructure (DW)?Why PostgreSQL for Analytics Infrastructure (DW)?
Why PostgreSQL for Analytics Infrastructure (DW)?Huy Nguyen
 
Hadoop institutes-in-bangalore
Hadoop institutes-in-bangaloreHadoop institutes-in-bangalore
Hadoop institutes-in-bangaloreKelly Technologies
 
Accumulo Summit 2016: Introducing Accumulo Collections: A Practical Accumulo ...
Accumulo Summit 2016: Introducing Accumulo Collections: A Practical Accumulo ...Accumulo Summit 2016: Introducing Accumulo Collections: A Practical Accumulo ...
Accumulo Summit 2016: Introducing Accumulo Collections: A Practical Accumulo ...Accumulo Summit
 
Ling liu part 01:big graph processing
Ling liu part 01:big graph processingLing liu part 01:big graph processing
Ling liu part 01:big graph processingjins0618
 
Mapreduce Algorithms
Mapreduce AlgorithmsMapreduce Algorithms
Mapreduce AlgorithmsAmund Tveit
 
Optimizing Terascale Machine Learning Pipelines with Keystone ML
Optimizing Terascale Machine Learning Pipelines with Keystone MLOptimizing Terascale Machine Learning Pipelines with Keystone ML
Optimizing Terascale Machine Learning Pipelines with Keystone MLSpark Summit
 
LocationTech Projects
LocationTech ProjectsLocationTech Projects
LocationTech ProjectsJody Garnett
 

Was ist angesagt? (20)

Enhancing Spark SQL Optimizer with Reliable Statistics
Enhancing Spark SQL Optimizer with Reliable StatisticsEnhancing Spark SQL Optimizer with Reliable Statistics
Enhancing Spark SQL Optimizer with Reliable Statistics
 
Surge: Rise of Scalable Machine Learning at Yahoo!
Surge: Rise of Scalable Machine Learning at Yahoo!Surge: Rise of Scalable Machine Learning at Yahoo!
Surge: Rise of Scalable Machine Learning at Yahoo!
 
Dremel Paper Review
Dremel Paper ReviewDremel Paper Review
Dremel Paper Review
 
GeoMesa: Scalable Geospatial Analytics
GeoMesa:  Scalable Geospatial AnalyticsGeoMesa:  Scalable Geospatial Analytics
GeoMesa: Scalable Geospatial Analytics
 
[Paper Reading] Steering Query Optimizers: A Practical Take on Big Data Workl...
[Paper Reading] Steering Query Optimizers: A Practical Take on Big Data Workl...[Paper Reading] Steering Query Optimizers: A Practical Take on Big Data Workl...
[Paper Reading] Steering Query Optimizers: A Practical Take on Big Data Workl...
 
Generalized Linear Models with H2O
Generalized Linear Models with H2O Generalized Linear Models with H2O
Generalized Linear Models with H2O
 
Tractor Pulling on Data Warehouse
Tractor Pulling on Data WarehouseTractor Pulling on Data Warehouse
Tractor Pulling on Data Warehouse
 
Hi Speed Datawarehousing
Hi Speed DatawarehousingHi Speed Datawarehousing
Hi Speed Datawarehousing
 
WBDB 2014 Benchmarking Virtualized Hadoop Clusters
WBDB 2014 Benchmarking Virtualized Hadoop ClustersWBDB 2014 Benchmarking Virtualized Hadoop Clusters
WBDB 2014 Benchmarking Virtualized Hadoop Clusters
 
WMS Performance Shootout 2011
WMS Performance Shootout 2011WMS Performance Shootout 2011
WMS Performance Shootout 2011
 
Block Sampling: Efficient Accurate Online Aggregation in MapReduce
Block Sampling: Efficient Accurate Online Aggregation in MapReduceBlock Sampling: Efficient Accurate Online Aggregation in MapReduce
Block Sampling: Efficient Accurate Online Aggregation in MapReduce
 
Massive Simulations In Spark: Distributed Monte Carlo For Global Health Forec...
Massive Simulations In Spark: Distributed Monte Carlo For Global Health Forec...Massive Simulations In Spark: Distributed Monte Carlo For Global Health Forec...
Massive Simulations In Spark: Distributed Monte Carlo For Global Health Forec...
 
Big Linked Data Interlinking - ExtremeEarth Open Workshop
Big Linked Data Interlinking - ExtremeEarth Open WorkshopBig Linked Data Interlinking - ExtremeEarth Open Workshop
Big Linked Data Interlinking - ExtremeEarth Open Workshop
 
Why PostgreSQL for Analytics Infrastructure (DW)?
Why PostgreSQL for Analytics Infrastructure (DW)?Why PostgreSQL for Analytics Infrastructure (DW)?
Why PostgreSQL for Analytics Infrastructure (DW)?
 
Hadoop institutes-in-bangalore
Hadoop institutes-in-bangaloreHadoop institutes-in-bangalore
Hadoop institutes-in-bangalore
 
Accumulo Summit 2016: Introducing Accumulo Collections: A Practical Accumulo ...
Accumulo Summit 2016: Introducing Accumulo Collections: A Practical Accumulo ...Accumulo Summit 2016: Introducing Accumulo Collections: A Practical Accumulo ...
Accumulo Summit 2016: Introducing Accumulo Collections: A Practical Accumulo ...
 
Ling liu part 01:big graph processing
Ling liu part 01:big graph processingLing liu part 01:big graph processing
Ling liu part 01:big graph processing
 
Mapreduce Algorithms
Mapreduce AlgorithmsMapreduce Algorithms
Mapreduce Algorithms
 
Optimizing Terascale Machine Learning Pipelines with Keystone ML
Optimizing Terascale Machine Learning Pipelines with Keystone MLOptimizing Terascale Machine Learning Pipelines with Keystone ML
Optimizing Terascale Machine Learning Pipelines with Keystone ML
 
LocationTech Projects
LocationTech ProjectsLocationTech Projects
LocationTech Projects
 

Ähnlich wie G-Store: High-Performance Graph Store for Trillion-Edge Processing

SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...
SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...
SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...Chester Chen
 
Making Machine Learning Scale: Single Machine and Distributed
Making Machine Learning Scale: Single Machine and DistributedMaking Machine Learning Scale: Single Machine and Distributed
Making Machine Learning Scale: Single Machine and DistributedTuri, Inc.
 
An introduction to column store indexes and batch mode
An introduction to column store indexes and batch modeAn introduction to column store indexes and batch mode
An introduction to column store indexes and batch modeChris Adkin
 
MySQL NDB Cluster 8.0 SQL faster than NoSQL
MySQL NDB Cluster 8.0 SQL faster than NoSQL MySQL NDB Cluster 8.0 SQL faster than NoSQL
MySQL NDB Cluster 8.0 SQL faster than NoSQL Bernd Ocklin
 
Golang in TiDB (GopherChina 2017)
Golang in TiDB  (GopherChina 2017)Golang in TiDB  (GopherChina 2017)
Golang in TiDB (GopherChina 2017)PingCAP
 
Alex Smola, Professor in the Machine Learning Department, Carnegie Mellon Uni...
Alex Smola, Professor in the Machine Learning Department, Carnegie Mellon Uni...Alex Smola, Professor in the Machine Learning Department, Carnegie Mellon Uni...
Alex Smola, Professor in the Machine Learning Department, Carnegie Mellon Uni...MLconf
 
A Brief Introduction of TiDB (Percona Live)
A Brief Introduction of TiDB (Percona Live)A Brief Introduction of TiDB (Percona Live)
A Brief Introduction of TiDB (Percona Live)PingCAP
 
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_SummaryHiram Fleitas León
 
Fast Big Data Analytics with Spark on Tachyon
Fast Big Data Analytics with Spark on TachyonFast Big Data Analytics with Spark on Tachyon
Fast Big Data Analytics with Spark on TachyonAlluxio, Inc.
 
MariaDB ColumnStore
MariaDB ColumnStoreMariaDB ColumnStore
MariaDB ColumnStoreMariaDB plc
 
Machine learning at Scale with Apache Spark
Machine learning at Scale with Apache SparkMachine learning at Scale with Apache Spark
Machine learning at Scale with Apache SparkMartin Zapletal
 
Best Practices for Migrating your Data Warehouse to Amazon Redshift
Best Practices for Migrating your Data Warehouse to Amazon Redshift Best Practices for Migrating your Data Warehouse to Amazon Redshift
Best Practices for Migrating your Data Warehouse to Amazon Redshift Amazon Web Services
 
World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...
World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...
World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...Intel® Software
 
Best Practices for Migrating your Data Warehouse to Amazon Redshift
Best Practices for Migrating your Data Warehouse to Amazon RedshiftBest Practices for Migrating your Data Warehouse to Amazon Redshift
Best Practices for Migrating your Data Warehouse to Amazon RedshiftAmazon Web Services
 
Accelerate Reed-Solomon coding for Fault-Tolerance in RAID-like system
Accelerate Reed-Solomon coding for Fault-Tolerance in RAID-like systemAccelerate Reed-Solomon coding for Fault-Tolerance in RAID-like system
Accelerate Reed-Solomon coding for Fault-Tolerance in RAID-like systemShuai Yuan
 
Apache Spark AI Use Case in Telco: Network Quality Analysis and Prediction wi...
Apache Spark AI Use Case in Telco: Network Quality Analysis and Prediction wi...Apache Spark AI Use Case in Telco: Network Quality Analysis and Prediction wi...
Apache Spark AI Use Case in Telco: Network Quality Analysis and Prediction wi...Databricks
 
Managing Data and Operation Distribution In MongoDB
Managing Data and Operation Distribution In MongoDBManaging Data and Operation Distribution In MongoDB
Managing Data and Operation Distribution In MongoDBJason Terpko
 
Optimising Geospatial Queries with Dynamic File Pruning
Optimising Geospatial Queries with Dynamic File PruningOptimising Geospatial Queries with Dynamic File Pruning
Optimising Geospatial Queries with Dynamic File PruningDatabricks
 
Macy's: Changing Engines in Mid-Flight
Macy's: Changing Engines in Mid-FlightMacy's: Changing Engines in Mid-Flight
Macy's: Changing Engines in Mid-FlightDataStax Academy
 

Ähnlich wie G-Store: High-Performance Graph Store for Trillion-Edge Processing (20)

SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...
SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...
SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...
 
Making Machine Learning Scale: Single Machine and Distributed
Making Machine Learning Scale: Single Machine and DistributedMaking Machine Learning Scale: Single Machine and Distributed
Making Machine Learning Scale: Single Machine and Distributed
 
An introduction to column store indexes and batch mode
An introduction to column store indexes and batch modeAn introduction to column store indexes and batch mode
An introduction to column store indexes and batch mode
 
MySQL NDB Cluster 8.0 SQL faster than NoSQL
MySQL NDB Cluster 8.0 SQL faster than NoSQL MySQL NDB Cluster 8.0 SQL faster than NoSQL
MySQL NDB Cluster 8.0 SQL faster than NoSQL
 
Golang in TiDB (GopherChina 2017)
Golang in TiDB  (GopherChina 2017)Golang in TiDB  (GopherChina 2017)
Golang in TiDB (GopherChina 2017)
 
Alex Smola, Professor in the Machine Learning Department, Carnegie Mellon Uni...
Alex Smola, Professor in the Machine Learning Department, Carnegie Mellon Uni...Alex Smola, Professor in the Machine Learning Department, Carnegie Mellon Uni...
Alex Smola, Professor in the Machine Learning Department, Carnegie Mellon Uni...
 
A Brief Introduction of TiDB (Percona Live)
A Brief Introduction of TiDB (Percona Live)A Brief Introduction of TiDB (Percona Live)
A Brief Introduction of TiDB (Percona Live)
 
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
 
Fast Big Data Analytics with Spark on Tachyon
Fast Big Data Analytics with Spark on TachyonFast Big Data Analytics with Spark on Tachyon
Fast Big Data Analytics with Spark on Tachyon
 
MariaDB ColumnStore
MariaDB ColumnStoreMariaDB ColumnStore
MariaDB ColumnStore
 
Machine learning at Scale with Apache Spark
Machine learning at Scale with Apache SparkMachine learning at Scale with Apache Spark
Machine learning at Scale with Apache Spark
 
Best Practices for Migrating your Data Warehouse to Amazon Redshift
Best Practices for Migrating your Data Warehouse to Amazon Redshift Best Practices for Migrating your Data Warehouse to Amazon Redshift
Best Practices for Migrating your Data Warehouse to Amazon Redshift
 
World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...
World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...
World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...
 
Best Practices for Migrating your Data Warehouse to Amazon Redshift
Best Practices for Migrating your Data Warehouse to Amazon RedshiftBest Practices for Migrating your Data Warehouse to Amazon Redshift
Best Practices for Migrating your Data Warehouse to Amazon Redshift
 
Accelerate Reed-Solomon coding for Fault-Tolerance in RAID-like system
Accelerate Reed-Solomon coding for Fault-Tolerance in RAID-like systemAccelerate Reed-Solomon coding for Fault-Tolerance in RAID-like system
Accelerate Reed-Solomon coding for Fault-Tolerance in RAID-like system
 
Apache Spark AI Use Case in Telco: Network Quality Analysis and Prediction wi...
Apache Spark AI Use Case in Telco: Network Quality Analysis and Prediction wi...Apache Spark AI Use Case in Telco: Network Quality Analysis and Prediction wi...
Apache Spark AI Use Case in Telco: Network Quality Analysis and Prediction wi...
 
Managing Data and Operation Distribution In MongoDB
Managing Data and Operation Distribution In MongoDBManaging Data and Operation Distribution In MongoDB
Managing Data and Operation Distribution In MongoDB
 
Optimising Geospatial Queries with Dynamic File Pruning
Optimising Geospatial Queries with Dynamic File PruningOptimising Geospatial Queries with Dynamic File Pruning
Optimising Geospatial Queries with Dynamic File Pruning
 
Macy's: Changing Engines in Mid-Flight
Macy's: Changing Engines in Mid-FlightMacy's: Changing Engines in Mid-Flight
Macy's: Changing Engines in Mid-Flight
 
Deep Dive on Amazon Redshift
Deep Dive on Amazon RedshiftDeep Dive on Amazon Redshift
Deep Dive on Amazon Redshift
 

Kürzlich hochgeladen

Probability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter LessonsProbability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter LessonsJoseMangaJr1
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxolyaivanovalion
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Valters Lauzums
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
 
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceBDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceDelhi Call girls
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangaloreamitlee9823
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxolyaivanovalion
 
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightCheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightDelhi Call girls
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Delhi Call girls
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxolyaivanovalion
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxolyaivanovalion
 
ALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxolyaivanovalion
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Researchmichael115558
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFxolyaivanovalion
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfMarinCaroMartnezBerg
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxolyaivanovalion
 

Kürzlich hochgeladen (20)

Predicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science ProjectPredicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science Project
 
Probability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter LessonsProbability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter Lessons
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptx
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceBDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightCheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
 
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptx
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 
ALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptx
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 
Anomaly detection and data imputation within time series
Anomaly detection and data imputation within time seriesAnomaly detection and data imputation within time series
Anomaly detection and data imputation within time series
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFx
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptx
 

G-Store: High-Performance Graph Store for Trillion-Edge Processing

  • 1. G-Store: High Performance Graph Store for Trillion-edge Processing Pradeep Kumar and H. Howie Huang The George Washington University
  • 2. Introduction  Graph is everywhere  Applications include • Social Networks • Computer Networks • Protein Structures • Recommendation Systems • And many more …  Graph size is reaching to Trillion edges 2
  • 3. Motivation 3 Trillion-edge graph Lower capacity but Fast access Higher capacity but Slow access +=
  • 4. Outline 4 01 - Observations 02 – G-Store Architecture 03 - Experiment 04 – Conclusion and QA
  • 5. Observation 1: Graph Size  PageRank algorithm on Kron-28-16 graph • 228 vertices • 233 edges  Graph sizes vary • 128GB if using 16-byte for an edge-tuple • 64GB for 8-byte edge-tuple  Smaller graph size leads to better performance 5 0 0.5 1 1.5 2 2.5 16-Byte 8-Byte Speedup Size of edge-tuple
  • 6. Observation 2: Metadata Access Localization  PageRank on 2-D partitioned graph  In-memory processing performance  Partition count affects metadata locality 6 0 0.5 1 1.5 Speedup Number of Partitions (0,1)(0,3), (1,0),(1,2), (2,1),(3,0) (0,4),(1,4), (2,4) (4,0),(4,1), (4,2) (4,5),(5,4), (5,6),(5,7), (6,5),(7,5) 2 3 1 54 0 7 6
  • 7. Observation 3: Streaming Memory Size  Small streaming memory does not significantly affect IO performance  Use rest of the memory for caching to improve algorithm performance 7 0 0.2 0.4 0.6 0.8 1 1.2 8 16 32 64 128 256 368 512 Speedup Streaming memory size (in MB)
  • 8. G-Store 8 Symmetry 01 Graph Size SNB Format Tile-based Representation Graph Algorithm On-Disk Grouping And Tile-based I/O Storage Devices Memory Management G-Store Grouping 02 Metadata On-Disk Layout Proactive Caching 03 Memory Slide-Cache-Rewind
  • 9. Tile-based Representation 9 (a) Example graph (b) Edge-list 4 0 2 4 1 4 0 0 21 3 51 4 0 1 1 1 2 2 3 4 40 0 44 5 7 56 5 5 65 7 2 3 1 54 0 7 6 (0,1),(0,3),(1,0), (1,2),(2,1),(3,0) (0,4),(1,4),(2,4) partition[0,0] partition[0,1] (4,0),(4,1),(4,2) (4,5),(5,4),(5,6), (5,7),(6,5),(7,5) partition[1,0] partition[1,1] (e) Smallest Number of Bits (SNB) Format (0, 1), (0, 3), (1, 2) (0, 4), (1, 4), (2, 4) Tile[0, 0] Tile[0, 1] (4, 5), (5, 6), (5, 7) Tile[1, 1] (0x00, 0x01), (0x00, 0x11), (0x01, 0x10) (0x00, 0x00), (0x01, 0x00), (0x10, 0x00) Tile[0x0, 0x0] Tile[0x0, 0x1] (0x00, 0x01), (0x01, 0x10), (0x01, 0x11) Tile[0x1, 0x1] (c) 2-D Partitioned Graph (d) Symmetry advantage
  • 10. Tile Advantages  G-Store achieves upto 8x space saving • 2x due to Symmetry • Upto 4x due to Smallest Number of Bit representation (SNB)  Processing can run directly on top of the SNB format with no need for conversion • Use a new relative pointer per tile for each algorithmic metadata • Please refer to the paper for details 10
  • 11. Small Algorithm Change Needed for Tile 11 Forward Direction Backward Direction
  • 12. Tile Properties  Tile size of Twitter graph • Power law distribution  Tile metadata size • All smaller than LLC 12 Algorithm Metadata Size Page-Rank 256KB Connected Components 256KB BFS 64KB
  • 13. Grouping and On-disk Layout  Combine q*q tiles into a physical group  Layout of tiles in disk • Reading tiles sequentially provides better hit ratios on LLC  Tile is a basic unit for Data Fetching, Processing and Caching  Use Linux AIO 13 0 q 2*q g = p/q 0 q 2*q PageRank-value Physical-group g = p/q Disk-layout of tiles in a physical group
  • 14. Grouping and On-disk Layout: Advantage 14 0 100 200 300 LLC Operations LLC Misses Billions 32*32 64*64 128*128 256*256 512*512 1024*1024 0 0.5 1 1.5 2 32*32 64*64 128*128 256*256 512*512 1024*1024 Speedup Group Composition (Tiles Count)  256*256 grouping has fewest LLC operations (loads, store) and misses  Improves performance by 57%
  • 15. Proactive Caching  Divide memory into streaming and caching  Rule 1: at the end of the processing of row[i] • We know whether row[i] would be processed in the next iteration • Hints can be used later  Rule 2: if row[i] is not needed for next iteration • Then we know that Tile[i,i] will not be needed • We only have partial information about other individual tiles 15 (0, 1), (0, 3), (1, 2) (0, 4), (1, 4), (2, 4) Tile[0, 0] Tile[0, 1] (4, 5), (5, 6), (5, 7) Tile[1, 1] Row[0] Row[1]
  • 16. Slide-cache-rewind 16 Processing IO Free Memory Cache pool Processing IO Cache pool Processing IO Free Memory T1 T3 Ti IO Free MemoryT0 Slide
  • 17. Slide-cache-rewind 17 Cache pool (useful data ) IO(S1) Processing(S2) Proactive Caching Ti+1 Cache pool (useful data ) Processing ProcessedTn Cache pool (processing) Processing Unprocessed Cache-pool IO(S1) Processing(S2) (T+1)0 (T+1)1 Proactive Caching Rewind  Less IO due to reuse  Provide hints for proactive caching policy  Evict unwanted data from cache pool
  • 18. Experimental Setup  Dual Intel Xeon CPU E5-2683, 14 core each, hyper-threading enabled = 56 threads  8GB streaming and caching memory  Cache • 32KB data and instruction L1 cache • 256KB L2 cache • 16MB L3 cache  LSI SAS9300-8i HBA, 8 Samsung EVO 850 512GB SSD  Linux Software RAID0 with 64KB stripe size 18
  • 19. Graph Datasets & Space Saving Graph Name Type X-Stream Size FlashGraph Size G-Store Size Space Saving Over X- Stream Space Saving Over FlashGraph Kron31-256 Undirected 8TB 4TB 2TB 4x 2x Kron-33-16 Undirected 4TB 2TB 512GB 8x 4x Kron-30-16 Undirected 256GB 128GB 64GB 4x 2x Kron-28-16 Undirected 64GB 32GB 16GB 4x 2x Rmat-28-16 Undirected 64GB 32GB 16GB 4x 2x Random-27-32 Undirected 64GB 32GB 16GB 4x 2x Twitter (Un-)Directed 14.6GB 14.6GB 7.3GB 4x 2x Friendster (Un-)Directed 19.26GB 19.26GB 9.63GB 4x 2x Subdomain (Un-)Directed 15.22GB 15.22GB 7.6GB 4x 2x 19
  • 20. Performance on Trillion-edge Graph  Kron-31-256: 231 vertices with 240 edges  Kron-33-16: 233 vertices with 238 edges  One iteration of Pagerank: • G-Store: 14 min in a single machine for a trillion-edge graph • Ching et al*: 3 min using 200 machines for similar-sized graph *Ching et al. One Trillion Edges: Graph Processing at Facebook-scale. Proceedings of the 41st International Conference on Very Large Data Bases(VLDB15) 20 Graph BFS Page-rank WCC Kron-31-256 2548.54 4214.54 1925.13 Kron-33-16 1509.13 1882.88 849.05
  • 21. Performance Comparison  Over X-Stream • 17x(BFS), 21x (PageRank), 32x(CC/WCC) speedup for Kron-28-16 • Others are similar. See paper for details. 21 0 0.5 1 1.5 2 2.5 Speedup BFS Pagerank CC/WCC FlashGraph G-Store  Over FlashGraph • 1.5x (CC/WCC), 2x (PageRank), 1.4x (BFS, undirected) • Slightly poor for BFS on directed graph due to no space saving in smaller graph
  • 22. Scalability on SSDs  RAID0: 64K stripe size  Close to 4x speedup for 4-SSDs  Upto 6x speedup for 8-SSDs • PageRank becomes compute intensive at 8-SSD configuration 22 0 2 4 6 8 BFS Pagerank WCC Speedup 1 SSD 2 SSDs 4 SSDs 8 SSDs
  • 23. Slide-Cache-Rewind  Base Policy (No cache): 4GB segment size (two)  Cache+Rewind Policy: 7.5GB cache, 256MB segments (two)  60% (BFS), 35% (PageRank) and 35% (WCC) 23 0 0.5 1 1.5 2 BFS Pagerank WCC Speedup Base Policy Cache+Rewind Policy
  • 24. Cache Size  For Kron-28-16 graph from 1GB to 8GB • Average 30% speedup  For Twitter graph from 1GB to 4GB • Average 41% speedup 24 0 0.5 1 1.5 2 BFS Pagerank WCC BFS Pagerank WCC Speedup Kron-28-16 Twitter 1GB 2GB 4GB 8GB
  • 25. Conclusion  SNB: Space efficient representation  Grouping: Optimal utilization of hardware cache  Slide: Complete overlapping of IO and compute  Cache: Graph specific proactive caching policy  Rewind: Using the last drop of memory 25
  • 26. Thank You  Email: pradeepk@gwu.edu and howie@gwu.edu  Graph software repository • https://github.com/iHeartGraph/ • G-Store: High-Performance Graph Store for Trillion-Edge Processing (SC’16) • Enterprise: Breadth-First Graph Traversal on GPUs (SC’15) • iBFS: Concurrent Breadth-First Search on GPUs (SIGMOD’16) 26