Substream-Centric Maximum Matchings on FPGA
arXiv:2010.14684
Abstract
Developing high-performance and energy-efficient algorithms for maximum matchings is becoming increasingly important in social network analysis, computational sciences, scheduling, and others. In this work, we propose the first maximum matching algorithm designed for FPGAs; it is energy-efficient and has provable guarantees on accuracy, performance, and storage utilization. To achieve this, we forego popular graph processing paradigms, such as vertex-centric programming, that often entail large communication costs. Instead, we propose a substream-centric approach, in which the input stream of data is divided into substreams processed independently to enable more parallelism while lowering communication costs. We base our work on the theory of streaming graph algorithms and analyze 14 models and 28 algorithms. We use this analysis to provide theoretical underpinning that matches the physical constraints of FPGA platforms. Our algorithm delivers high performance (more than 4x speedup over tuned parallel CPU variants), low memory, high accuracy, and effective usage of FPGA resources. The substream-centric approach could easily be extended to other algorithms to offer low-power and high-performance graph processing on FPGAs.
arXiv commentBest Paper finalist at ACM FPGA'19, invited to special issue of ACM TRETS'20
References in corpus (8)
- GraphLab: A New Framework For Parallel Machine Learning
- Improved approximation guarantees for weighted matching in the semi-streaming model
- Survey and Taxonomy of Lossless Graph Compression and Space-Efficient Graph Representations
- Graph Processing on FPGAs: Taxonomy, Survey, Challenges
- Network-Accelerated Non-Contiguous Memory Transfers
- An Efficient Graph Accelerator with Parallel Data Conflict Management
- Vertex-Centric Graph Processing: The Good, the Bad, and the Ugly
- An Efficient Dispatcher for Large Scale GraphProcessing on OpenCL-based FPGAs