Abstract
By optimizing the data layout ahead-of-time, graph reordering can effectively improve the memory access locality in graph processing. The reordered graphs derived by sophisticated graph reordering approaches can greatly speedup the executions of most graph algorithms, while they incur huge computation overheads. Although lightweight approaches indeed reduce the reordering costs, they cannot achieve the best speedup performances. This is because they merely operate vertices of high-degrees and inadvertently destroy the community structures hidden in the graph. In this paper, we thus propose Sorder to balance the speedup performance and the reordering overhead. Sorder achieves better locality by preserving structural properties of graphs. Specifically, it mainly exploits neighborhood relations to renumber vertices and preferentially reorders vertices of high-degree ahead of the other vertices. We further enhance the design with the hypernode concept, which gathers neighboring vertices of low-degree to form a virtual vertex. Therefore, Sorder can consecutively rearrange more neighboring vertices, such that protecting the community structures. Extensive experiments with 5 representative graph algorithms and 7 real-world graphs demonstrate that Sorder can achieve comparable speedup performance as Gorder, the state-of-the-art approach, while significantly reducing the reordering overhead.