SimGQ: Simultaneously Evaluating Iterative Graph Queries
SimGQ: Simultaneously Evaluating Iterative Graph Queries
复制标题
DOI:
10.1109/hipc50609.2020.00014
复制
发表时间:
2020-12
期刊:
影响因子:
--
通讯作者:
Chengshuo Xu;Abbas Mazloumi;Xiaolin Jiang;Rajiv Gupta
中科院分区:
文献类型:
--
作者:
Chengshuo Xu;Abbas Mazloumi;Xiaolin Jiang;Rajiv Gupta
Graph processing frameworks are typically designed to optimize the evaluation of a single graph query. However, in practice, we often need to respond to multiple graph queries, either from different users or from a single user performing a complex analytics task. Therefore in this paper we develop SimGQ, a system that optimizes simultaneous evaluation of a group of vertex queries that originate at different source vertices (e.g., multiple shortest path queries originating at different source vertices) and delivers substantial speedups over a conventional framework that evaluates and responds to queries one by one. The performance benefits are achieved via batching and sharing. Batching fully utilizes system resources to evaluate a batch of queries and amortizes runtime overheads incurred due to fetching vertices and edge lists, synchronizing threads, and maintaining computation frontiers. Sharing dynamically identifies shared queries that substantially represent subcomputations in the evaluation of different queries in a batch, evaluates the shared queries, and then uses their results to accelerate the evaluation of all queries in the batch. With four input power-law graphs and four graph algorithms SimGQ achieves speedups of up to 45.67 × with batch sizes of up to 512 queries over the baseline implementation that evaluates the queries one by one using the state of the art Ligra system. Moreover, both batching and sharing contribute substantially to the speedups.