Novel Dynamic Partial Reconfiguration Implementation of K-Means Clustering on FPGAs: Comparative Results with GPPs and GPUs

K-means clustering has been widely used in processing large datasets in many fields of studies. Advancement in many data collection techniques has been generating enormous amounts of data, leaving scientists with the challenging task of processing them. Using General Purpose Processors (GPPs) to process large datasets may take a long time; therefore many acceleration methods have been proposed in the literature to speed up the processing of such large datasets. In this work, a parameterized implementation of the K-means clustering algorithm in Field Programmable Gate Array (FPGA) is presented and compared with previous FPGA implementation as well as recent implementations on Graphics Processing Units (GPUs) and GPPs. The proposed FPGA has higher performance in terms of speedup over previous GPP and GPU implementations (two orders and one order of magnitude, resp.). In addition, the FPGA implementation is more energy efficient than GPP and GPU (615x and 31x, resp.). Furthermore, three novel implementations of the K-means clustering based on dynamic partial reconfiguration (DPR) are presented offering high degree of flexibility to dynamically reconfigure the FPGA. The DPR implementations achieved speedups in reconfiguration time between 4x to 15x.

[1]  Dominique Lavenier FPGA implementation of the k-means clustering algorithm for hyperspectral images , 2000 .

[2]  M.C.P. de Souto,et al.  Cluster ensemble for gene expression microarray data , 2005, Proceedings. 2005 IEEE International Joint Conference on Neural Networks, 2005..

[3]  Fred Worrall,et al.  On the importance of very long-term water quality records. , 2014 .

[4]  Tughrul Arslan,et al.  Empty Resource Compaction Algorithms for Real-Time Hardware Tasks Placement on Partially Reconfigurable FPGAs Subject to Fault Ocurrence , 2011, 2011 International Conference on Reconfigurable Computing and FPGAs.

[5]  Berkin Özisikyilmaz,et al.  High Performance Data Mining Using R on Heterogeneous Platforms , 2011, 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.

[6]  Dominique Lavenier,et al.  Experience with a Hybrid Processor: K-Means Clustering , 2004, The Journal of Supercomputing.

[7]  Ying Liu,et al.  High Performance Biological Pairwise Sequence Alignment: FPGA versus GPU versus Cell BE versus GPP , 2012, Int. J. Reconfigurable Comput..

[8]  James Theiler,et al.  Design issues for hardware implementation of an algorithm for segmenting hyperspectral imagery , 2000, SPIE Optics + Photonics.

[9]  Huseyin Seker,et al.  Highly Parameterized K-means Clustering on FPGAs: Comparative Results with GPPs and GPUs , 2011, 2011 International Conference on Reconfigurable Computing and FPGAs.

[10]  Manoranjan Dash,et al.  Efficient K-Means Clustering Using Accelerated Graphics Processors , 2008, DaWaK.

[11]  Huseyin Seker,et al.  FPGA implementation of K-means algorithm for bioinformatics application: An accelerated approach to clustering Microarray data , 2011, 2011 NASA/ESA Conference on Adaptive Hardware and Systems (AHS).

[12]  Maya Gokhale,et al.  Applying reconfigurable hardware to the analysis of multispectral and hyperspectral imagery , 2002, SPIE Optics + Photonics.

[13]  Berkin Özisikyilmaz,et al.  Accelerating data mining workloads: current approaches and future challenges in system architecture design , 2011, WIREs Data Mining Knowl. Discov..

[14]  Venkatesh Bhaskaran,et al.  Parameterized Implementation of K-means Clustering on Reconfigurable Systems , 2004 .

[15]  James Theiler,et al.  Algorithmic transformations in the implementation of K- means clustering on reconfigurable hardware , 2001, FPGA '01.

[16]  Roy H. Campbell,et al.  A Parallel Implementation of K-Means Clustering on GPUs , 2008, PDPTA.