Spynq: Acceleration Of Machine Learning Applications Over Spark On Pynq

Christoforos Kachris, Elias Koromilas, Ioannis Stamelos, Dimitrios Soudris
2017 Zenodo  
Spark is one of the most widely used frameworks for data analytics that offers fast development of applications like machine learning and graph computations in distributed systems. In this paper, we present SPynq: A framework for the efficient utilization of hardware accelerators over the Spark framework on heterogeneous MPSoC FPGAs, such as Zynq. Spark has been mapped to the Pynq platform and the proposed framework allows the seamless utilization of the programmable logic for the hardware
more » ... eration of computational intensive Spark kernels. We have also developed the required libraries in Spark that hide the accelerator's details to minimize the design effort to utilize the accelerators. A cluster of 4 nodes (workers) based on the all-programmable MPSoCs has been implemented and the proposed platform is evaluated in a typical machine learning application based on logistic regression. The logistic regression kernel has been developed as an accelerator and incorporated to the Spark. The developed system is compared to a high-performance Xeon cluster that is typically used in cloud computing. The performance evaluation shows that the heterogeneous accelerator-based MpSoC can achieve up to 2.3x system speedup compared with a Xeon system (with 90% accuracy) and 20x better energy efficiency. For embedded application, the proposed system can achieve up to 40x speedup compared to the software only implementation on low-power embedded processors and 30x lower energy consumption.
doi:10.5281/zenodo.836712 fatcat:dynuug3zanfypgywhb5qmofpnq