As large graph processing emerges, we observe a costly fork-processing pattern (FPP) common in many graph algorithms. The unique feature of the FPP is that it launches many independent queries from different source vertices on the same graph. For example, an algorithm in analyzing the network community profile can execute Personalized PageRanks that start from tens of thousands of source vertices at the same time. We study the efficiency of state-of-the-art graph processing systems on multi-core architectures, including Ligra, Gemini, and GraphIt. We find that those systems suffer from severe cache miss penalty because of the irregular and uncoordinated memory accesses in processing FPPs. In this paper, we propose ForkGraph, a cache-efficient FPP processing system on multi-core architectures. To improve the cache reuse, we divide the graph into partitions each sized of LLC capacity, and the queries in an FPP are buffered and executed on the partition basis. We further develop efficient intra- and inter-partition execution strategies for efficiency. For intra-partition processing, since the graph partition fits into LLC, we propose to execute each graph query with efficient sequential algorithms (in contrast with parallel algorithms in existing parallel graph processing systems) and present an atomic-free query processing by consolidating contending operations to cache-resident graph partition. For inter-partition processing, we propose yielding and priority-based scheduling, to reduce redundant work in processing. Besides, we theoretically prove that ForkGraph performs the same amount of work, to within a constant factor, as the fastest known sequential algorithms in FPP queries processing, which is work efficient. Our evaluations on real-world graphs show that ForkGraph significantly outperforms state-of-the-art graph processing systems with two orders of magnitude speedups.


翻译:随着大图表处理的出现,我们观察到许多图表算法中常见的昂贵的叉子处理模式(FPP)。 FPP的独特特征是,它从不同的源头顶部发出许多独立的查询。例如,分析网络社区配置的算法可以执行个性化的PageRanks,从数万个源头头开始。我们研究的是包括利格拉、基米和GapIT在内的多核心结构中最先进的图表处理系统的效率。我们发现这些系统由于处理FPPP的不规则且不协调的内存访问而受到严重缓冲罚款。在本文中,我们提议FPPP在多核心结构中采用一个缓冲式的页码处理系统,而FPPP的查询则是在隔断的基础上进行缓冲和进行相同的查询。我们进一步开发高效的内部和部门间执行效率执行战略。对于内部处理来说,由于在处理FPLPO的平价处理过程中,我们建议FLP的平面平面平面分析平面平面平面的平面平流处理流程进行大幅的连续的平面平流分析。

0
下载
关闭预览

相关内容

Processing 是一门开源编程语言和与之配套的集成开发环境(IDE)的名称。Processing 在电子艺术和视觉设计社区被用来教授编程基础,并运用于大量的新媒体和互动艺术作品中。
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
107+阅读 · 2020年5月3日
抢鲜看!13篇CVPR2020论文链接/开源代码/解读
专知会员服务
49+阅读 · 2020年2月26日
必读的7篇IJCAI 2019【图神经网络(GNN)】相关论文-Part2
专知会员服务
60+阅读 · 2020年1月10日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
CCF推荐 | 国际会议信息8条
Call4Papers
9+阅读 · 2019年5月23日
计算机 | CCF推荐期刊专刊信息5条
Call4Papers
3+阅读 · 2019年4月10日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
人工智能 | UAI 2019等国际会议信息4条
Call4Papers
6+阅读 · 2019年1月14日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
人工智能 | 国际会议信息10条
Call4Papers
5+阅读 · 2018年12月18日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
计算机类 | 期刊专刊截稿信息9条
Call4Papers
4+阅读 · 2018年1月26日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
A Comprehensive Survey on Transfer Learning
Arxiv
121+阅读 · 2019年11月7日
A Comprehensive Survey on Graph Neural Networks
Arxiv
21+阅读 · 2019年1月3日
Arxiv
3+阅读 · 2018年4月10日
VIP会员
相关资讯
CCF推荐 | 国际会议信息8条
Call4Papers
9+阅读 · 2019年5月23日
计算机 | CCF推荐期刊专刊信息5条
Call4Papers
3+阅读 · 2019年4月10日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
人工智能 | UAI 2019等国际会议信息4条
Call4Papers
6+阅读 · 2019年1月14日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
人工智能 | 国际会议信息10条
Call4Papers
5+阅读 · 2018年12月18日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
计算机类 | 期刊专刊截稿信息9条
Call4Papers
4+阅读 · 2018年1月26日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
Top
微信扫码咨询专知VIP会员