The paper presents ParaGrapher, a high-performance API and library for loading large-scale compressed graphs. ParaGrapher supports different types of requests for accessing graphs in shared-memory, distributed-memory, and out-of-core graph processing.
The key highlights are:
ParaGrapher supports synchronous (blocking) and asynchronous (non-blocking) loading of unweighted, vertex-weighted, and edge-weighted graphs in different formats, including the highly compressed WebGraph format.
The authors construct a performance model to elucidate the relative impacts of storage bandwidth, compression rate, and decompression speed on graph loading time. This model is used to specify when greater compression accelerates graph loading and when it is bounded by decompression speed.
ParaGrapher provides a C/C++ front-end connected to a parallel Java back-end that decompresses the whole graph or requested subgraph using the WebGraph framework.
Evaluation shows that ParaGrapher delivers up to 3.2 times speedup in loading graphs and up to 5.2 times speedup in end-to-end execution compared to binary and textual formats used in the state-of-the-art GAPBS graph framework.
The authors analyze the limitations of ParaGrapher's performance and provide future directions, such as optimizing decompression bandwidth, leveraging high-bandwidth storage, and exploring efficient compression algorithms.
To Another Language
from source content
arxiv.org
Key Insights Distilled From
by Mohsen Koohi... at arxiv.org 05-01-2024
https://arxiv.org/pdf/2404.19735.pdfDeeper Inquiries