Simple graph algorithms such as PageRank have been the target of numerous hardware accelerators. Yet, there also exist much more complex graph mining algorithms for problems such as clustering or maximal clique listing. These algorithms are memory-bound and thus could be accelerated by hardware techniques such as Processing-in-Memory (PIM). However, they also come with nonstraightforward parallelism and complicated memory access patterns. In this work, we address this problem with a simple yet surprisingly powerful observation: operations on sets of vertices, such as intersection or union, form a large part of many complex graph mining algorithms, and can offer rich and simple parallelism at multiple levels. This observation drives our cross-layer design, in which we (1) expose set operations using a novel programming paradigm, (2) express and execute these operations efficiently with carefully designed set-centric ISA extensions called SISA, and (3) use PIM to accelerate SISA instructions. The key design idea is to alleviate the bandwidth needs of SISA instructions by mapping set operations to two types of PIM: in-DRAM bulk bitwise computing for bitvectors representing high-degree vertices, and near-memory logic layers for integer arrays representing low-degree vertices. Set-centric SISA-enhanced algorithms are efficient and outperform hand-tuned baselines, offering more than 10x speedup over the established Bron-Kerbosch algorithm for listing maximal cliques. We deliver more than 10 SISA set-centric algorithm formulations, illustrating SISA's wide applicability.


翻译:PageRank 等简单图形算法是许多硬件加速器的目标。 然而,对于集群或最大 clorique 列表等问题,也存在更复杂得多的图形挖掘算法。 这些算法是内存式的,因此可以通过像 PIM (PIM) 等硬件技术加速。 但是,这些算法也具有非直角的平行和复杂的内存访问模式。 在这项工作中,我们用简单但令人惊讶的强大观察来解决这个问题: 套头(如交错或联结)上的操作构成许多复杂图形开采算法的一大部分, 并且可以在多个级别提供丰富和简单的平行的图形挖掘算法。 这种观察推动我们的跨层设计, 其中我们(1) 使用新编程编程范式, (2) 表达和执行这些操作,使用精心设计的定置的定置中心核心 ISA (SISA 扩展) 和 (3) 使用 PIM 加速 SISA 指令。 关键的设计理念是通过将 SISA 指令的带宽需要, 向两种类型的 PIM 设置操作: 用DM 批量化的批量计算, 用于近度的Bitbribbly 和简单平行的算法,, 用于比级- 更近水平级的Slical- slical- slical- liver liveral- sliver liver 的比 级 级 级 级码 级码 的 级 级 的 的 的 级 级 级 的 级 级 级 级码- 级算法 级定算法 的 的 级码- 级 级 级 的 级码- 级 级 级 级 级 级 级 级 级 级 级 级 级码- 级 级 级 级 级 级 级 级 级 级的 级码- 级的 级码- 级程- 级程- 级定的 级 级 级 级 级 级 级 级 级 级 级 级 级 级码- 级码- 级码- 级码- 级码- 级码- 级 级码- 级码-

0
下载
关闭预览

相关内容

【图与几何深度学习】Graph and geometric deep learning,49页ppt
一份简单《图神经网络》教程,28页ppt
专知会员服务
123+阅读 · 2020年8月2日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
.NET Core 原生DI+AOP实现注解式编程
DotNet
8+阅读 · 2019年9月9日
计算机类 | PLDI 2020等国际会议信息6条
Call4Papers
3+阅读 · 2019年7月8日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
已删除
将门创投
3+阅读 · 2018年3月13日
Arxiv
0+阅读 · 2021年12月22日
Arxiv
0+阅读 · 2021年12月20日
Arxiv
0+阅读 · 2021年12月17日
Arxiv
35+阅读 · 2019年11月7日
VIP会员
相关资讯
.NET Core 原生DI+AOP实现注解式编程
DotNet
8+阅读 · 2019年9月9日
计算机类 | PLDI 2020等国际会议信息6条
Call4Papers
3+阅读 · 2019年7月8日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
已删除
将门创投
3+阅读 · 2018年3月13日
Top
微信扫码咨询专知VIP会员