Towards FPGA-assisted Spark: An SVM training acceleartion case study

Abstract

A system that augments the Apache Spark data processing framework with FPGA accelerators is presented as a way to model and deploy FPGA-assisted applications in large-scale clusters. In our proposed framework, FPGAs can optionally be used in place of the host CPU for Resilient distributed datasets (RDDs) transformations, allowing seamless integration between gateware and software processing. Using the case of training an Support Vector Machine (SVM) cell image classifier as a case study, we explore the feasibilities, benefits and challenges of such technique. In our experiments where data communication between CPU and FPGA is tightly controlled, a consistent speedup of up to 1.6x can be achieved for the target SVM training application as the cluster size increases. Hardware-software techniques that are crucial to achieve acceleration such as the management of data partition size are explored. We demonstrate the benefits of the proposed framework, while also illustrate the importance of careful hardware-software management to avoid excessive CPU-FPGA communication that can quickly diminish the benefits of FPGA acceleration.

Publication
2016 International Conference on ReConFigurable Computing and FPGAs (ReConFig)
Maolin Wang
Maolin Wang
PhD Candidate
Ho-Cheung Ng
Ho-Cheung Ng
M.Phil, PhD Candidate (ICL)
Hayden Kwok-Hay So
Hayden Kwok-Hay So
Associate Professor