MultiLogVC: Efficient Out-of-Core Graph Processing Framework for Flash Storage

被引:3
|
作者
Matam, Kiran Kumar [1 ]
Hashemi, Hanieh [2 ]
Annavaram, Murali [2 ]
机构
[1] Facebook Inc, Menlo Pk, CA 94025 USA
[2] Univ Southern Calif, Elect Engn Dept, Los Angeles, CA 90007 USA
关键词
out-of-core graph processing; graph analytics; SSD storage systems; log storage;
D O I
10.1109/IPDPS49936.2021.00033
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Graph analytics are at the heart of a broad range of applications such as drug discovery, page ranking, transportation systems, and recommendation models. When graph size exceeds the available memory size in a computing node, out-of-core graph processing is needed. For the widely used out-of-core graph processing systems. the graphs are stored and accessed from a long latency SSD storage, which becomes a significant performance bottleneck. To tackle this long latency this work exploits the key insight that that nearly all graph algorithms have a dynamically varying number of active vertices that must be processed in each iteration. However, existing graph processing frameworks, such as GraphChi, load the entire graph in each iteration even if a small fraction of the graph is active. This limitation is due to the structure of the graph storage used by these systems. In this work, we propose to use a compressed sparse row (CSR) based graph storage that is more amenable for selectively loading only a few active vertices in each iteration. However, CSR based graph processing suffers from random update propagation to many target vertices. To solve this challenge, we propose to use a multi-log update mechanism that logs updates separately, rather than directly update the active edges and vertices in a graph. The multi-log system maintains a separate log per each vertex interval (a group of vertices). This separation enables efficient processing of all updates bound to each vertex interval by just loading the corresponding log. Further, by logging all the updates associated with a vertex interval in one contiguous log this approach reduces read amplification since all the pages in the log will be processed in the next iteration without wasted page reads. Over the current state of the art out-of-core graph processing framework, our evaluation results show that the MultiLogVC framework improves performance by up to 17.84x, 1.19x, 1.65x, 1.38x, 3.15x, and 6.00x for the widely used breadth-first search, pagerank, community detection, graph coloring, maximal independent set, and random-walk applications, respectively.
引用
收藏
页码:245 / 255
页数:11
相关论文
共 50 条
  • [1] FOG: A Fast Out-of-Core Graph Processing Framework
    Zhiyuan Shao
    Jian He
    Huiming Lv
    Hai Jin
    [J]. International Journal of Parallel Programming, 2017, 45 : 1259 - 1272
  • [2] FOG: A Fast Out-of-Core Graph Processing Framework
    Shao, Zhiyuan
    He, Jian
    Lv, Huiming
    Jin, Hai
    [J]. INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2017, 45 (06) : 1259 - 1272
  • [3] Active Flash: Out-of-core Data Analytics on Flash Storage
    Boboila, Simona
    Kim, Youngjae
    Vazhkudai, Sudharshan S.
    Desnoyers, Peter
    Shipman, Galen M.
    [J]. 2012 IEEE 28TH SYMPOSIUM ON MASS STORAGE SYSTEMS AND TECHNOLOGIES (MSST), 2012,
  • [4] A Structure-Aware Storage Optimization for Out-of-Core Concurrent Graph Processing
    Liao, Xiaofei
    Zhao, Jin
    Zhang, Yu
    He, Bingsheng
    He, Ligang
    Jin, Hai
    Gu, Lin
    [J]. IEEE TRANSACTIONS ON COMPUTERS, 2022, 71 (07) : 1612 - 1625
  • [5] A Hybrid Update Strategy for I/O-Efficient Out-of-Core Graph Processing
    Xu, Xianghao
    Wang, Fang
    Jiang, Hong
    Chen, Yongli
    Feng, Dan
    Zhang, Yongxuan
    [J]. IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2020, 31 (08) : 1767 - 1782
  • [6] LOSC: Efficient Out-of-Core Graph Processing with Locality-optimized Subgraph Construction
    Xu, Xianghao
    Wang, Fang
    Jiang, Hong
    Cheng, Yongli
    Hua, Yu
    Feng, Dan
    Zhang, Yongxuan
    [J]. PROCEEDINGS OF THE IEEE/ACM INTERNATIONAL SYMPOSIUM ON QUALITY OF SERVICE (IWQOS 2019), 2019,
  • [7] BlockGraphChi: Enabling Block Update in Out-of-Core Graph Processing
    Zhiyuan Shao
    Zhenjie Mei
    Xiaofeng Ding
    Hai Jin
    [J]. International Journal of Parallel Programming, 2019, 47 : 668 - 685
  • [8] BlockGraphChi: Enabling Block Update in Out-of-Core Graph Processing
    Shao, Zhiyuan
    Mei, Zhenjie
    Ding, Xiaofeng
    Jin, Hai
    [J]. INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2019, 47 (04) : 668 - 685
  • [9] OMRGx: Programmable and Transparent Out-of-Core Graph Partitioning and Processing
    Kaur, Gurneet
    Gupta, Rajiv
    [J]. PROCEEDINGS OF THE 2023 ACM SIGPLAN INTERNATIONAL SYMPOSIUM ON MEMORY MANAGEMENT, ISMM 2023, 2023, : 137 - 149
  • [10] HUS-Graph: I/O-Efficient Out-of-Core Graph Processing with Hybrid Update Strategy
    Xu, Xianghao
    Wang, Fang
    Jiang, Hong
    Cheng, Yongli
    Feng, Dan
    Zhang, Yongxuan
    [J]. PROCEEDINGS OF THE 47TH INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING, 2018,