Thursday , August 16 2018

Design Trade-offs in Configurable FPGA Architectures
for K-Means Clustering

Alexandru AMARICAI
University Politehnica Timisoara,
2 Vasile Parvan Blvd, Timisoara, Romania.
alexandru.amaricai@cs.upt.ro

ABSTRACT: K-Means clustering is a popular technique for data partitioning, frequently used in data mining. The simple control flow, and high degree of parallelism, makes it a good candidate for FPGA acceleration. We propose a highly configurable architecture, based on Euclidean distance computation. It can be tuned by the following parameters: number of dimensions, dimension width, dimension based parallelism degree, number of centroids and centroid based parallelism degree. We study their impact on different K-Means components, such as the distance computation, distance comparison, accumulation, division, or the memory modules within the accelerator. Furthermore, for the aforementioned parameters we investigate the performance/cost trade-offs of the proposed K-Means accelerator implementation.

KEYWORDS: K-Means clustering, FPGA, parallelization.

>>FULL TEXT: PDF

CITE THIS PAPER AS:
Alexandru AMARICAI
, Design Trade-offs in Configurable FPGA Architectures for K-Means Clustering, Studies in Informatics and Control, ISSN 1220-1766, vol. 26(1), pp. 43-48, 2017.

REFERENCES

  1. Choi, Y. M., & So, H. K., (2014) Map reduce processing of K-Means algorithm with FPGA based computer cluster, Proceedings 25th International Conference on Application-Specific Systems, Architectures and Processors (ASAP) (pp. 9-16).
  1. Elkan C. (2003) Using the triangle inequality to accelerate the K-Means, Proceedings 20th International Conference on Machine Learning (ICML) (pp. 362-365).
  2. Hussain, H. M., Benkrid, K., Seker, K. H. & A. T. Erdogan (2011), FPGA implementation of K-Means algorithm for bioinformatics application: An accelerated approach to clustering microarray data, Proceedings 2011 NASA/ESA Conference on Adaptive Hardware and Systems (AHS) (pp. 248-255).
  3. Hussain, H. M., Benkrid, K., Erdogan, A. T. & Seker, H. (2011) Highly parameterized K-Means Clustering on FPGA: Comparative results with GPPs and GPUs, Proceedings 2011 NASA/ESA Conference on Adaptive Hardware and Systems (AHS) (pp. 248-255).
  4. Kutty, J. S. S., Boussaid, F., & Amira, A. (2013) A high speed configurable FPGA architecture for K-Means clustering, (2013) 2013 IEEE International Symposium on Circuits and Systems (ISCAS) (pp. 1801-1804).
  5. Lin, Z., Lo, C. & Chow, P., (2012) Application K-means implementation on FPGA for high-dimensional data using triangle, Proceedings 22nd International Conference on Field Programmable Logic and Applications (pp. 437-442).
  6. Luca, R. (2016) Clustering-based Human Locomotion Parameters for Motion Type Classification Studies in Informatics and Control, 25 (3), 353-362.
  7. Wang, W., & Lesser, M., (2007) K-means clustering for multispectral images using floating-point divide, Proceedings 15th Annual IEEE Symp. On Field Programmable Custom Computing Machines (FCCM) (pp. 151-162).
  8. Winterstein, F., Bayliss S. & Constantinides, G. (2013) High-level synthesis of dynamic data structures: A case study using Vivado HLS Proceedings 2013 International Conference on Field Programmable Technology (FPT) (pp. 362-365).
  9. Winterstein, F., Bayliss S. & Constantinides, G. (2013) FPGA based K-Means clustering using tree based data structures, Proceedings 23rd International Conference on Field Programmable Logic and Applications (pp. 1-6).

https://doi.org/10.24846/v26i1y201705