Parallel Implementation of K-Means Algorithm on FPGA

Leonardo A. Dias, Joao C. Ferreira, Marcelo A. C. Fernandes
2020 IEEE Access  
The K-means algorithm is widely used to find correlations between data in different application domains. However, given the massive amount of data stored, known as Big Data, the need for high-speed processing to analyze data has become even more critical, especially for real-time applications. A solution that has been adopted to increase the processing speed is the use of parallel implementations on FPGA, which has proved to be more efficient than sequential systems. Hence, this paper proposes
more » ... his paper proposes a fully parallel implementation of the K-means algorithm on FPGA to optimize the system's processing time, thus enabling real-time applications. This proposal, unlike most implementations proposed in the literature, even parallel ones, do not have sequential steps, a limiting factor of processing speed. Results related to processing time (or throughput) and FPGA area occupancy (or hardware resources) were analyzed for different parameters, reaching performances higher than 53 millions of data points processed per second. Comparisons to the state of the art are also presented, showing speedups of more than 15573× over a partially serial implementation. INDEX TERMS Parallel implementation, FPGA, K-means algorithm, reconfigurable computing.
doi:10.1109/access.2020.2976900 fatcat:c7z6cwjprnfrfe6n7b6ohnwzwm