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. Introduction Current technologies in many fields of studies have been utilizing advanced data collection techniques which output enormous amount of data. Such data may not be useful in their collected form unless they are computationally processed to extract meaningful results. Current computational power of General Purpose Processors (GPPs) has not been able to keep up with the pace at which data are growing [1]. Therefore, researchers have been searching for methods to accelerate data analysis to overcome the limitation of GPPs, one of which is the use of hardware in the form of Field Programmable Gate Arrays (FPGAs). K-means clustering is one of the widely used data mining techniques to analyze large datasets and extract useful information from them. Previously, we have implemented the K-means clustering on FPGA to target Microarray gene expression profiles and reported encouraging speedups over GPPs [2]. However, the implementation was limited to single dimension and eight clusters only. An extended work on FPGA implementation of the K-means algorithm is presented in this work which includes a highly parameterized architecture, a novel single, and a multicore dynamic partial reconfiguration of the K-means algorithm. Although the proposed design is meant to target Microarray gene expression profiles, it
References
[1]
P. Kumar, B. Ozisikyilmaz, W.-K. Liao, G. Memik, and A. Choudhary, “High performance data mining using R on heterogeneous platforms,” in Proceedings of the 25th IEEE International Parallel and Distributed Processing Symposium, Workshops and Phd Forum (IPDPSW '11), pp. 1720–1729, 2011.
[2]
H. M. Hussain, K. Benkrid, H. Seker, and A. T. Erdogan, “FPGA implementation of K-means algorithm for bioinformatics application: an accelerated approach to clustering Microarray data,” in Proceedings of the NASA/ESA Conference on Adaptive Hardware and Systems (AHS '11), pp. 248–255, 2011.
[3]
M. Estlick, M. Leeser, J. Theiler, and J. J. Szymanski, “Algorithmic transformations in the implementation of K-means clustering on reconfigurable hardware,” in Proceedings of the ACM/SIGDA 9th International Sysmposium on Field Programmable Gate Arrays (FPGA '01), pp. 103–110, February 2001.
[4]
M. Leeser, P. Belanovic, M. Estlick, M. Gokhale, J. J. Szymanski, and J. Theiler, “Applying reconfigurable hardware to the analysis of multispectral and hyperspectral imagery,” in Imaging Spectrometry VII, vol. 4480 of Proceedings of SPIE, pp. 100–107, August 2001.
[5]
M. D. Estlick, An FPGA implementation of the K-means algorithm for image processing [M.S. thesis], Department of Electrical and Computer Engineering, Northeastern University, Boston, Mass, USA, 2002.
[6]
D. Lavenier, FPGA Implementation of the K-Means Clustering Algorithm For Hyperspectral Images, Los Alamos National Laboratory, LAUR, Los Alamos, Ill, USA, 2000.
[7]
M. Gokhale, J. Frigo, K. Mccabe, J. Theiler, C. Wolinski, and D. Lavenier, “Experience with a hybrid processor: K-means clustering,” Journal of Supercomputing, vol. 26, no. 2, pp. 131–148, 2003.
[8]
J. Theiler, M. Leeser, M. Estlick, and J. J. Szymanski, “Design issues for hardware implementation of an algorithm for segmenting hyperspectral imagery,” in Imaging Spectrometry VI, vol. 4132 of Proceedings of SPIE, pp. 99–106, August 2000.
[9]
V. Bhaskaran, Parametrized implementation of K-means clustering on reconfigurable systems [M.S. thesis], Department of Electrical Engineering, University of Tennessee, Knoxville, Ten, USA, 2003.
[10]
R. Farivar, D. Rebolledo, E. Chan, and R. Campbell, “A parallel implementation of K-means clustering on GPUs,” in Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA '08), pp. 340–345, Las Vegas, Nev, USA, July 2008.
[11]
S. A. A. Shalom, M. Dash, and M. Tue, “Efficient K-means clustering using accelerated graphics processors,” in Proceedings of the 10th International Conference on Data Warehousing and Knowledge Discovery (DaWaK '08), vol. 5182 of Lecture Notes in Computer Science, pp. 166–175, 2008.
[12]
G. Karch, GPU based acceleration of selected clustering techniques [M.S. thesis], Department of Electrical and Computer Engineering and Computer Sciences, Silesian University of Technology in Gliwice, Silesia, Poland, 2010.
[13]
A. Choudhary, D. Honbo, P. Kumar, B. Ozisikyilmaz, S. Misra, and G. Memik, “Accelerating Data Mining Workloads: current approaches and future challenges in system architecture design,” Wiley Interdisciplinary Reviews, vol. 1, pp. 41–54, 2011.
[14]
M. C. P. De Souto, S. C. M. Silva, V. G. Bittencourt, and D. S. A. De Araujo, “Cluster ensemble for gene expression microarray data,” in Proceedings of the International Joint Conference on Neural Networks (IJCNN '05), vol. 1, pp. 487–492, August 2005.
[15]
S. A. Shalom, M. Dash, and M. Tue, “GPU-based fast k-means clustering of gene expression profiles,” in Proceedings of the 12th Annual International Conference on Research in Computational Molecular Biology (RECOMB '08), Singaphore, 2008.
[16]
H. Hussain, K. Benkrid, H. Seker, and A. Erdogan, “Highly parametrized K-means clustering on FPGAs: comparative results with GPPs and GPUs,” in Proceedings of the International Conference on ReConFigurable Computing and FPGAs (ReConFig '11), pp. 475–480, 2011.
K. Benkrid, A. Akoglu, C. Ling, Y. Song, X. Tian, and Y. Lue, “High perfomance biological pairwise sequence alignment: FPGA vs. GPU vs. CellBE vs. GPP,” International Journal of Reconfigurable Computing, vol. 2012, Article ID 752910, 15 pages, 2012.
X. Iturbe, K. Benkrid, T. Arslan, C. Hong, and I. Martinez, “Empty resource compaction algorithms for real-time hardware tasks placement on partially reconfigurable FPGAs subject to fault ocurrence,” in Proceedings of the International Conference on ReConFigurable Computing and FPGAs (ReConFig '11), pp. 475–480, November 2011.