Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/3691992.3692067guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
research-article

Efficient large graph processing with chunk-based graph representation model

Published: 10 July 2024 Publication History

Abstract

Existing external graph processing systems face challenges in terms of low I/O efficiency, expensive computation overhead, and high graph algorithm development costs when running on emerging NVMe SSDs, due to their reliance on complex loading and computing models that aim to convert numerous random I/Os into a few sequential I/Os. While in-memory graph systems working with memory-storage cache systems like OS page cache or TriCache, offer a promising solution for large graph processing with fine-grained I/Os and easy algorithm programming, they often overlook the specific characteristics of graph applications, resulting in inefficient graph processing. To address these challenges, we introduce Chunk-Graph, an I/O-efficient graph system designed for processing large-scale graphs on NVMe SSDs. ChunkGraph introduces a novel chunk-based graph representation model, featuring classified and hierarchical vertex storage, and efficient chunk layout optimization. Evaluations show that ChunkGraph can outperform existing external graph systems, as well as inmemory graph systems relying on general cache systems, running several times faster.

References

[1]
Zhiyuan Ai, Mingxing Zhang, Yongwei Wu, Xuehai Qian, Kang Chen, and Weimin Zheng. Squeezing Out All the Value of Loaded Data: An Out-of-core Graph Processing System with Reduced Disk I/O. In USENIX ATC, pages 125-137, 2017.
[2]
Dominic Asamoah, Evans Baidoo, and Stephen Opoku Oppong. Optimizing memory using knapsack algorithm. International Journal of Modern Education and Computer Science, 9(5):34, 2017.
[3]
Scott Beamer, Krste Asanović, and David Patterson. The gap benchmark suite. arXiv preprint arXiv:1508.03619, 2015.
[4]
Scott Beamer, Krste Asanovic, and David Patterson. Locality exists in graph processing: Workload characterization on an ivy bridge server. In IEEE IISWC, pages 56-65, 2015.
[5]
Hongzhi Chen, Miao Liu, Yunjian Zhao, Xiao Yan, Da Yan, and James Cheng. G-Miner: an Efficient Task-Oriented Graph Mining System. In ACM EuroSys, pages 1-12, 2018.
[6]
Rong Chen, Jiaxin Shi, Yanzhe Chen, and Haibo Chen. Powerlyra: Differentiated Graph Computation and Partitioning on Skewed Graphs. In ACM EuroSys, pages 1-39, 2015.
[7]
Disa Mhembere Da Zheng, Randal Burns, Joshua Vogelstein, Carey E Priebe, and Alexander S Szalay. Flash-Graph: Processing Billion-node Graphs on an Array of Commodity SSDs. In USENIX FAST, pages 45-58, 2015.
[8]
Nima Elyasi, Changho Choi, and Anand Sivasubramaniam. Large-Scale Graph Processing on Emerging Storage Devices. In USENIX FAST, pages 309-316, 2019.
[9]
Brian Essen, Henry Hsieh, Sasha Ames, Roger Pearce, and Maya Gokhale. Di-mmap-a scalable memory-map runtime for out-of-core data-intensive applications. Cluster Computing, 18(1):15-28, mar 2015.
[10]
Guanyu Feng, Huanqi Cao, Xiaowei Zhu, Bowen Yu, Yuanwei Wang, Zixuan Ma, Shengqi Chen, and Wenguang Chen. TriCache: A User-Transparent block cache enabling High-Performance Out-of-Core processing with In-Memory programs. In 16th USENIX Symposium on Operating Systems Design and Implementation (OSDI 22), pages 395-411, Carlsbad, CA, July 2022. USENIX Association.
[11]
Friendster. http://konect.uni-koblenz.de/networks/friendster.
[12]
Gartner's top 10 data and analytics technology trends for 2021. https://www.gartner.com/en/newsroom/press-releases/2021-03-16-gartner-identifies-top-10-data-\and-analytics-technologies-trends-for-2021.
[13]
Joseph E Gonzalez, Yucheng Low, Haijie Gu, Danny Bickson, and Carlos Guestrin. PowerGraph: Distributed Graph-Parallel Computation on Natural Graphs. In USENIX OSDI, pages 17-30, 2012.
[14]
Joseph E Gonzalez, Reynold S Xin, Ankur Dave, Daniel Crankshaw, Michael J Franklin, and Ion Stoica. GraphX: Graph Processing in a Distributed Dataflow Framework. In USENIX OSDI, pages 599-613, 2014.
[15]
Graph500. https://graph500.org/.
[16]
Sungpack Hong, Hassan Chafi, Edic Sedlar, and Kunle Olukotun. Green-Marl: a DSL for Easy and Efficient Graph Analysis. ACM SIGPLAN Notices, 47(4):349- 362, 2012.
[17]
Abdullah Al Raqibul Islam and Dong Dai. Dgap: Efficient dynamic graph analysis on persistent memory. In ACM SC, pages 1-13, 2023.
[18]
Myung-Hwan Jang, Jeong-Min Park, Ikhyeon Jo, Duck-Ho Bae, and Sang-Wook Kim. Realgraph+: A high-performance single-machine-based graph engine that utilizes io bandwidth effectively. In ACM WWW, pages 276-279, 2023.
[19]
Sang-Woo Jun, Andy Wright, Sizhuo Zhang, Shuotao Xu, and Arvind. GraFBoost: Using Accelerated Flash Storage for External Graph Analytics. In IEEE ISCA, pages 411-424, 2018.
[20]
Arijit Khan, Gustavo Segovia, and Donald Kossmann. On Smart Query Routing: for Distributed Graph Querying with Decoupled Storage. In USENIX ATC, pages 401-412, 2018.
[21]
Farzad Khorasani, Keval Vora, Rajiv Gupta, and Laxmi N Bhuyan. CuSha: vertex-centric graph processing on GPUs. In Proceedings of the 23rd international symposium on High-performance parallel and distributed computing. ACM, 2014.
[22]
Juno Kim and Steven Swanson. Blaze: fast graph processing on fast ssds. In ACM SC, pages 1-15, 2022.
[23]
Pradeep Kumar and H Howie Huang. GraphOne: A Data Store for Real-time Analytics on Evolving Graphs. In USENIX FAST, pages 249-263, 2019.
[24]
Aapo Kyrola. Drunkardmob: Billions of Random Walks on Just a PC. In ACM RecSys, 2013.
[25]
Aapo Kyrola, Guy E Blelloch, and Carlos Guestrin. Graphchi: Large-scale Graph Computation on Just a PC. In USENIX OSDI, pages 31-46, 2012.
[26]
Eunjae Lee, Junghyun Kim, Keunhak Lim, Sam H Noh, and Jiwon Seo. {Pre-Select} static caching and neighborhood ordering for {BFS-like} algorithms on disk-based graph engines. In USENIX ATC, pages 459-474, 2019.
[27]
Baptiste Lepers, Oana Balmau, Karan Gupta, and Willy Zwaenepoel. Kvell: the design and implementation of a fast persistent key-value store. In Proceedings of the 27th ACM Symposium on Operating Systems Principles, pages 447-461, 2019.
[28]
Hang Liu and H Howie Huang. Enterprise: Breadth-first graph traversal on GPUs. In Proceedings of the SCInternational Conference for High Performance Computing, Networking, Storage and Analysis. IEEE, 2015.
[29]
Hang Liu and H Howie Huang. Graphene: Fine-Grained IO Management for Graph Computing. In USENIX FAST, pages 285-300, 2017.
[30]
Yucheng Low, Danny Bickson, Joseph Gonzalez, Carlos Guestrin, Aapo Kyrola, and Joseph M Hellerstein. Distributed GraphLab: a Framework for Machine Learning and Data Mining in the Cloud. PVLDB, 5(8):716-727, 2012.
[31]
Steffen Maass, Changwoo Min, Sanidhya Kashyap, Woonhak Kang, Mohan Kumar, and Taesoo Kim. Mosaic: Processing a Trillion-edge Graph on a Single Machine. In ACM EuroSys, pages 527-543, 2017.
[32]
Grzegorz Malewicz, Matthew H Austern, Aart JC Bik, James C Dehnert, Ilan Horn, Naty Leiser, and Grzegorz Czajkowski. Pregel: A System for Large-scale Graph Processing. In ACM SIGMOD, pages 135-146, 2010.
[33]
Donald Nguyen, Andrew Lenharth, and Keshav Pingali. A Lightweight Infrastructure for Graph Analytics. In ACM SOSP, pages 456-471, 2013.
[34]
Online. Buddy system formWikipedia, the free encyclopedia. https://en.wikipedia.org/wiki/Buddy_system, accessed 17-April-2023.
[35]
Online. Cache replacement policies form Wikipedia, the free encyclopedia. https://en.wikipedia.org/wiki/Cache_replacement_policies, accessed 17-April-2023.
[36]
Online. Memory-mapped file form Wikipedia, the free encyclopedia. https://en.wikipedia.org/wiki/Memory-mapped_file, accessed 17-April-2023.
[37]
Online. Memory paging form Wikipedia, the free encyclopedia. https://en.wikipedia.org/wiki/Memory_paging, accessed 17-April-2023.
[38]
Online. Page cache form Wikipedia, the free encyclopedia. https://en.wikipedia.org/wiki/Page_cache, accessed 17-April-2023.
[39]
Online. Slab allocation form Wikipedia, the free encyclopedia. https://en.wikipedia.org/wiki/Slab_allocation, accessed 17-April-2023.
[40]
Emmanuel Ofori Oppong, Stephen Opoku Oppong, Dominic Asamoah, and Nuku Atta Kordzo Abiew. Metaheuristics approach to knapsack problem in memory management. Asian Journal of Research in Computer Science, 3(2):1-10, 2019.
[41]
Anastasios Papagiannis, Manolis Marazakis, and Angelos Bilas. Memory-mapped i/o on steroids. In Proceedings of the Sixteenth European Conference on Computer Systems, EuroSys '21, pages 277-293, New York, NY, USA, 2021. Association for Computing Machinery.
[42]
Anastasios Papagiannis, Giorgos Saloustros, Giorgos Xanthakis, Giorgos Kalaentzis, Pilar Gonzalez-Ferez, and Angelos Bilas. Kreon: An efficient memory-mapped key-value store for flash storage. ACM Trans. Storage, 17(1), jan 2021.
[43]
Anastasios Papagiannis, Giorgos Xanthakis, Giorgos Saloustros, Manolis Marazakis, and Angelos Bilas. Optimizing memory-mapped I/O for fast storage devices. In USENIX ATC 20, pages 813-827. USENIX Association, July 2020.
[44]
Ivy Peng, Marty McFadden, Eric Green, Keita Iwabuchi, Kai Wu, Dong Li, Roger Pearce, and Maya Gokhale. Umap: Enabling application-driven optimizations for page management. In 2019 IEEE/ACM Workshop on Memory Centric High Performance Computing (MCHPC), pages 71-78, 2019.
[45]
Amitabha Roy, Ivo Mihailovic, and Willy Zwaenepoel. X-stream: Edge-centric Graph Processing Using Streaming Partitions. In ACM SOSP, pages 472-488, 2013.
[46]
Julian Shun and Guy E Blelloch. Ligra: a Lightweight Graph Processing Framework for Shared Memory. In ACM SIGPLAN, pages 135-146, 2013.
[47]
Nae Young Song, Yongseok Son, Hyuck Han, and Heon Young Yeom. Efficient memory-mapped i/o on fast storage device. ACM Trans. Storage, 12(4), may 2016.
[48]
Carlos HC Teixeira, Alexandre J Fonseca, Marco Serafini, Georgos Siganos, Mohammed J Zaki, and Ashraf Aboulnaga. Arabesque: A System for Distributed Graph Mining. In ACM SOSP, pages 425-440, 2015.
[49]
Twitter. http://an.kaist.ac.kr/traces/WWW2010.html.
[50]
UK domain (2007) network dataset - KONECT, January 2018.
[51]
Keval Vora. LUMOS: Dependency-Driven Disk-based Graph Processing. In USENIX ATC, pages 429-442, 2019.
[52]
Keval Vora, Guoqing (Harry) Xu, and Rajiv Gupta. Load the Edges You Need: A Generic I/O Optimization for Disk-based Graph Processing. In USENIX ATC, pages 507-522, 2016.
[53]
Rui Wang, Shuibing He, Weixu Zong, Yongkun Li, and Yinlong Xu. Xpgraph: Xpline-friendly persistent memory graph stores for large-scale evolving graphs. In 2022 55th IEEE/ACM International Symposium on Microarchitecture (MICRO), pages 1308-1325, 2022.
[54]
Rui Wang, Yongkun Li, Hong Xie, Yinlong Xu, and John CS Lui. GraphWalker: An I/O-Efficient and Resource-Friendly Graph Analytic System for Fast and Scalable Random Walks. In USENIX ATC, pages 559- 571, 2020.
[55]
Yangzihao Wang, Andrew Davidson, Yuechao Pan, Yuduo Wu, Andy Riffel, and John D Owens. Gunrock: A high-performance graph processing library on the GPU. In ACM SIGPLAN, 2016.
[56]
Hao Wei, Jeffrey Xu Yu, Can Lu, and Xuemin Lin. Speedup graph processing by graph ordering. In ACM SIGMOD, pages 1813-1828, 2016.
[57]
Zhu Xiaowei, Feng Guanyu, Serafini Marco, Ma Xiaosong, Yu Jiping, Xie Lei, Aboulnaga Ashraf, and Chen Wenguang. LiveGraph: a Transactional Graph Storage System with Purely Sequential Adjacency List Scans. PVLDB, 13(7):1020-1034, 2020.
[58]
Yahoo Webscope. Yahoo! AltaVista Web Page Hyperlink Connectivity Graph. http://webscope.sandbox.yahoo.com.
[59]
Xiaowei Zhu, Wenguang Chen, Weimin Zheng, and Xiaosong Ma. Gemini: A Computation-Centric Distributed Graph Processing System. In USENIX OSDI, pages 301-316, 2016.
[60]
Xiaowei Zhu, Wentao Han, and Wenguang Chen. Grid-Graph: Large-Scale Graph Processing on a Single Machine Using 2-Level Hierarchical Partitioning. In USENIX ATC, pages 375-386, 2015.
Index terms have been assigned to the content through auto-classification.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
USENIX ATC'24: Proceedings of the 2024 USENIX Conference on Usenix Annual Technical Conference
July 2024
1282 pages
ISBN:978-1-939133-41-0

Sponsors

  • Futurewei Technologies
  • NSF
  • IBM
  • Meta
  • NetApp

Publisher

USENIX Association

United States

Publication History

Published: 10 July 2024

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 06 Feb 2025

Other Metrics

Citations

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media