m-flash · lin, zhiyuan, et al. "mmap: fast billion-scale graph computation on a pc via memory...
TRANSCRIPT
![Page 1: M-Flash · Lin, Zhiyuan, et al. "Mmap: Fast billion-scale graph computation on a pc via memory mapping." Big Data (Big Data), 2014 IEEE International Conference on. IEEE, 2014. M-Flash:](https://reader033.vdocuments.us/reader033/viewer/2022050413/5f8986e684b75b1ed02fbdba/html5/thumbnails/1.jpg)
M-Flash: Fast Billion-Scale Graph Computation Using a Bimodal Block Processing Model
Hugo Gualdron University of Sao Paulo
Robson Cordeiro University of Sao Paulo
Jose Rodrigues-Jr University of Sao Paulo
Duen Horng (Polo) Chau Georgia Tech
Minsuk Kahng Georgia Tech
U Kang Seoul National University
Dezhi “Andy” FangPresenter
Georgia Tech
![Page 2: M-Flash · Lin, Zhiyuan, et al. "Mmap: Fast billion-scale graph computation on a pc via memory mapping." Big Data (Big Data), 2014 IEEE International Conference on. IEEE, 2014. M-Flash:](https://reader033.vdocuments.us/reader033/viewer/2022050413/5f8986e684b75b1ed02fbdba/html5/thumbnails/2.jpg)
2
Internet4+ Billion Web Pages
www.worldwidewebsize.com www.opte.org
![Page 3: M-Flash · Lin, Zhiyuan, et al. "Mmap: Fast billion-scale graph computation on a pc via memory mapping." Big Data (Big Data), 2014 IEEE International Conference on. IEEE, 2014. M-Flash:](https://reader033.vdocuments.us/reader033/viewer/2022050413/5f8986e684b75b1ed02fbdba/html5/thumbnails/3.jpg)
3
Citation Network
www.scirus.com/press/html/feb_2006.html#2 Modified from well-formed.eigenfactor.org
250+ Million Articles
![Page 4: M-Flash · Lin, Zhiyuan, et al. "Mmap: Fast billion-scale graph computation on a pc via memory mapping." Big Data (Big Data), 2014 IEEE International Conference on. IEEE, 2014. M-Flash:](https://reader033.vdocuments.us/reader033/viewer/2022050413/5f8986e684b75b1ed02fbdba/html5/thumbnails/4.jpg)
Many More
4
§ TwitterWho-follows-whom (310 million monthly active users)
Who-buys-what (300+ million users)
§ cellphone networkWho-calls-whom (130+ million users)
Protein-protein interactions200 million possible interactions in human genome
Sources: www.selectscience.net www.phonedog.com www.mediabistro.com www.practicalecommerce.com
![Page 5: M-Flash · Lin, Zhiyuan, et al. "Mmap: Fast billion-scale graph computation on a pc via memory mapping." Big Data (Big Data), 2014 IEEE International Conference on. IEEE, 2014. M-Flash:](https://reader033.vdocuments.us/reader033/viewer/2022050413/5f8986e684b75b1ed02fbdba/html5/thumbnails/5.jpg)
5
Large Graphs Are CommonGraph Nodes Edges
YahooWeb 1.4 Billion 6 Billion
Symantec Machine-File Graph 1 Billion 37 Billion
Twitter 104 Million 3.7 Billion
Phone call network 30 Million 260 Million
Takes Most Space
![Page 6: M-Flash · Lin, Zhiyuan, et al. "Mmap: Fast billion-scale graph computation on a pc via memory mapping." Big Data (Big Data), 2014 IEEE International Conference on. IEEE, 2014. M-Flash:](https://reader033.vdocuments.us/reader033/viewer/2022050413/5f8986e684b75b1ed02fbdba/html5/thumbnails/6.jpg)
Scalable Graph Computation on Single Machines
6
131
198
1248
209.5
298
428.5
0 500 1000 1500
MMap
TurboGraph
GraphChi
GraphX
Giraph
Spark
PageRank Runtime (s) on Twitter Graph(1.5 billion edges; 10 iterations, lower is better)
128Cores
SingleMachine(4 cores)
Today’s single machines are very powerful.
Can we do even better?McSherry, Frank, Michael Isard, and Derek G. Murray. "Scalability! But at what COST?." 15th Workshop on Hot Topics in Operating Systems (HotOS XV). 2015.Lin, Zhiyuan, et al. "Mmap: Fast billion-scale graph computation on a pc via memory mapping." Big Data (Big Data), 2014 IEEE International Conference on. IEEE, 2014.
![Page 7: M-Flash · Lin, Zhiyuan, et al. "Mmap: Fast billion-scale graph computation on a pc via memory mapping." Big Data (Big Data), 2014 IEEE International Conference on. IEEE, 2014. M-Flash:](https://reader033.vdocuments.us/reader033/viewer/2022050413/5f8986e684b75b1ed02fbdba/html5/thumbnails/7.jpg)
M-Flash: Fast Billion-Scale Graph Computation Using a Bimodal Block Processing Model
7
![Page 8: M-Flash · Lin, Zhiyuan, et al. "Mmap: Fast billion-scale graph computation on a pc via memory mapping." Big Data (Big Data), 2014 IEEE International Conference on. IEEE, 2014. M-Flash:](https://reader033.vdocuments.us/reader033/viewer/2022050413/5f8986e684b75b1ed02fbdba/html5/thumbnails/8.jpg)
8
Our Observation #1: I/O is BottleneckGraph edges need to be stored on disk.
Symantec graph: 37 billion edges, 200+ GB
Disk access is much slower than RAM.
Goal: Reduce I/O, especially random accesses
![Page 9: M-Flash · Lin, Zhiyuan, et al. "Mmap: Fast billion-scale graph computation on a pc via memory mapping." Big Data (Big Data), 2014 IEEE International Conference on. IEEE, 2014. M-Flash:](https://reader033.vdocuments.us/reader033/viewer/2022050413/5f8986e684b75b1ed02fbdba/html5/thumbnails/9.jpg)
9
Our Observation #2:Real-world graphs are sparse.Adjacency matrix contains dense and sparse blocks
Dense BlocksSparse Blockshttps://web.stanford.edu/class/bios221/labs/networks/lab_7_networks.html
![Page 10: M-Flash · Lin, Zhiyuan, et al. "Mmap: Fast billion-scale graph computation on a pc via memory mapping." Big Data (Big Data), 2014 IEEE International Conference on. IEEE, 2014. M-Flash:](https://reader033.vdocuments.us/reader033/viewer/2022050413/5f8986e684b75b1ed02fbdba/html5/thumbnails/10.jpg)
10
M-Flash’s Solutions
1. Determine edge block types (dense and sparse)
2. Design efficient processing approaches for each block type
![Page 11: M-Flash · Lin, Zhiyuan, et al. "Mmap: Fast billion-scale graph computation on a pc via memory mapping." Big Data (Big Data), 2014 IEEE International Conference on. IEEE, 2014. M-Flash:](https://reader033.vdocuments.us/reader033/viewer/2022050413/5f8986e684b75b1ed02fbdba/html5/thumbnails/11.jpg)
11
Determine Block Types In Pre-processing
BlockType =Sparse, if I/O cost if treated as Sparse
I/O cost if treated as Dense < 1
Dense, otherwise
DenseSparse
SparseSparse
![Page 12: M-Flash · Lin, Zhiyuan, et al. "Mmap: Fast billion-scale graph computation on a pc via memory mapping." Big Data (Big Data), 2014 IEEE International Conference on. IEEE, 2014. M-Flash:](https://reader033.vdocuments.us/reader033/viewer/2022050413/5f8986e684b75b1ed02fbdba/html5/thumbnails/12.jpg)
12
Dense Block Processing(Assuming all blocks are dense)
New vertex values
= x
Old vertex values
![Page 13: M-Flash · Lin, Zhiyuan, et al. "Mmap: Fast billion-scale graph computation on a pc via memory mapping." Big Data (Big Data), 2014 IEEE International Conference on. IEEE, 2014. M-Flash:](https://reader033.vdocuments.us/reader033/viewer/2022050413/5f8986e684b75b1ed02fbdba/html5/thumbnails/13.jpg)
13
I/O Cost for Dense Block Processing
Typeequationhere.
O(𝛽 + 1 𝑉 + 𝐸
𝐵 + 𝛽9)
Each vertex is read 𝛽 times and then written once # Edge
Size of per I/O Operation#Interval (= #Row = #Column)
# Vertex
![Page 14: M-Flash · Lin, Zhiyuan, et al. "Mmap: Fast billion-scale graph computation on a pc via memory mapping." Big Data (Big Data), 2014 IEEE International Conference on. IEEE, 2014. M-Flash:](https://reader033.vdocuments.us/reader033/viewer/2022050413/5f8986e684b75b1ed02fbdba/html5/thumbnails/14.jpg)
14
SourcePartition 1
Destination
Source Partition:Sequential Read
Sparse Block Processing(Assuming all blocks are sparse)
SourcePartition 2
![Page 15: M-Flash · Lin, Zhiyuan, et al. "Mmap: Fast billion-scale graph computation on a pc via memory mapping." Big Data (Big Data), 2014 IEEE International Conference on. IEEE, 2014. M-Flash:](https://reader033.vdocuments.us/reader033/viewer/2022050413/5f8986e684b75b1ed02fbdba/html5/thumbnails/15.jpg)
15
Source
DestinationPartition 1
Destination Partition:Sequential Write
DestinationPartition 2
Sparse Block Processing(Assuming all blocks are sparse)
![Page 16: M-Flash · Lin, Zhiyuan, et al. "Mmap: Fast billion-scale graph computation on a pc via memory mapping." Big Data (Big Data), 2014 IEEE International Conference on. IEEE, 2014. M-Flash:](https://reader033.vdocuments.us/reader033/viewer/2022050413/5f8986e684b75b1ed02fbdba/html5/thumbnails/16.jpg)
16
I/O Cost for Sparse Block Processing
Typeequationhere.
O(2 𝑉 + 𝐸 + 2|𝐸=>?=@A=A|
𝐵 + 𝛽9)
# Edge
Size of per I/O Operation#Interval (= #Row = #Column)
# Vertex Edge with extended information
![Page 17: M-Flash · Lin, Zhiyuan, et al. "Mmap: Fast billion-scale graph computation on a pc via memory mapping." Big Data (Big Data), 2014 IEEE International Conference on. IEEE, 2014. M-Flash:](https://reader033.vdocuments.us/reader033/viewer/2022050413/5f8986e684b75b1ed02fbdba/html5/thumbnails/17.jpg)
17
Bimodal Block Processing
BlockType =Sparse, if I/O cost if treated as Sparse
I/O cost if treated as Dense < 1
Dense, otherwise
DenseSparse
SparseSparse
![Page 18: M-Flash · Lin, Zhiyuan, et al. "Mmap: Fast billion-scale graph computation on a pc via memory mapping." Big Data (Big Data), 2014 IEEE International Conference on. IEEE, 2014. M-Flash:](https://reader033.vdocuments.us/reader033/viewer/2022050413/5f8986e684b75b1ed02fbdba/html5/thumbnails/18.jpg)
18
Large Graphs Used in Evaluation
Graph Nodes EdgesLiveJournal 5 Million 69 MillionTwitter 41 Million 1.5 BillionYahooWeb 1.4 Billion 6.6 BillionR-Mat (Synthetic) 4 Billion 12 Billion
![Page 19: M-Flash · Lin, Zhiyuan, et al. "Mmap: Fast billion-scale graph computation on a pc via memory mapping." Big Data (Big Data), 2014 IEEE International Conference on. IEEE, 2014. M-Flash:](https://reader033.vdocuments.us/reader033/viewer/2022050413/5f8986e684b75b1ed02fbdba/html5/thumbnails/19.jpg)
19
Runtime of M-Flash
0 1000 2000 3000
16GB
8GB
4GB
MemorySize
PageRank Runtime (s) on 6 billion edge YahooWeb Graph
(1 iteration, shorter is better)
M-FlashMMapTurboGraphX-StreamGraphChi
![Page 20: M-Flash · Lin, Zhiyuan, et al. "Mmap: Fast billion-scale graph computation on a pc via memory mapping." Big Data (Big Data), 2014 IEEE International Conference on. IEEE, 2014. M-Flash:](https://reader033.vdocuments.us/reader033/viewer/2022050413/5f8986e684b75b1ed02fbdba/html5/thumbnails/20.jpg)
20
• Fastest single-node graph computing framework• Innovative bimodal design that addresses varying edge
density in real-world graphs
• M-Flash Code: https://github.com/M-Flash/m-flash-cpp• MMap Project: http://poloclub.gatech.edu/mmap/
M-Flash: Fast Billion-Scale Graph Computation Using a Bimodal Block Processing Model
CNPq (grant 444985/2014-0), Fapesp (grants 2016/02557-0, 2014/21483-2), Capes, NSF (grants IIS-1563816, TWC-1526254, IIS-1217559) GRFP (grant DGE-1148903), Korean (MSIP) agency IITP (grant R0190-15-2012)
Dezhi “Andy” FangGeorgia Tech CS Undergradhttp://andyfang.me