GraphMat: High performance graph analytics made productive
GraphMat: High performance graph analytics made productive
复制标题
DOI:
10.14778/2809974.2809983
复制
发表时间:
2015-03
期刊:
影响因子:
--
通讯作者:
N. Sundaram;N. Satish;Md. Mostofa Ali Patwary;Subramanya R. Dulloor;Michael J. Anderson;Satya Gautam Vadlamudi-Satya-Gautam-V
中科院分区:
文献类型:
--
作者:
N. Sundaram;N. Satish;Md. Mostofa Ali Patwary;Subramanya R. Dulloor;Michael J. Anderson;Satya Gautam Vadlamudi-Satya-Gautam-V
Given the growing importance of large-scale graph analytics, there is a need to improve the performance of graph analysis frameworks without compromising on productivity. GraphMat is our solution to bridge this gap between a user-friendly graph analytics framework and native, hand-optimized code. GraphMat functions by taking vertex programs and mapping them to high performance sparse matrix operations in the backend. We thus get the productivity benefits of a vertex programming framework without sacrificing performance. GraphMat is a single-node multicore graph framework written in C++ which has enabled us to write a diverse set of graph algorithms with the same effort compared to other vertex programming frameworks. GraphMat performs 1.1-7X faster than high performance frameworks such as GraphLab, CombBLAS and Galois. GraphMat also matches the performance of MapGraph, a GPU-based graph framework, despite running on a CPU platform with significantly lower compute and bandwidth resources. It achieves better multicore scalability (13-15X on 24 cores) than other frameworks and is 1.2X off native, hand-optimized code on a variety of graph algorithms. Since GraphMat performance depends mainly on a few scalable and well-understood sparse matrix operations, GraphMat can naturally benefit from the trend of increasing parallelism in future hardware.