  Graph is a well known data structure to represent the associated
relationships in a variety of applications, e.g., data science and machine
learning. Despite a wealth of existing efforts on developing graph processing
systems for improving the performance and/or energy efficiency on traditional
architectures, dedicated hardware solutions, also referred to as graph
processing accelerators, are essential and emerging to provide the benefits
significantly beyond those pure software solutions can offer. In this paper, we
conduct a systematical survey regarding the design and implementation of graph
processing accelerator. Specifically, we review the relevant techniques in
three core components toward a graph processing accelerator: preprocessing,
parallel graph computation and runtime scheduling. We also examine the
benchmarks and results in existing studies for evaluating a graph processing
accelerator. Interestingly, we find that there is not an absolute winner for
all three aspects in graph acceleration due to the diverse characteristics of
graph processing and complexity of hardware configurations. We finially present
to discuss several challenges in details, and to further explore the
opportunities for the future research.

Distributed, Parallel, and Cluster Computing