A Parallel Implementation of K-Means Clustering on GPUs

Graphics Processing Units (GPU) have recently been the subject of attention in research as an efficient coprocessor for implementing many classes of highly parallel applications. The GPUs design is engineered for graphics applications, where many independent SIMD workloads are simultaneously dispatched to processing elements. While parallelism has been explored in the context of traditional CPU threads and SIMD processing elements, the principles involved in dividing the steps of a parallel algorithm for execution on GPU architectures remains a significant challenge. In this paper, we introduce a first step towards building an efficient GPU-based parallel implementation of a commonly used clustering algorithm called K-Means on an NVIDIA G80 PCI express graphics board using the CUDA processing extensions. Clustering algorithms are important for search, data mining, spam and intrusion detection applications. Modern desktop machines commonly include desktop search software that can be greatly enhanced by these advances, while low-power machines such as laptops can reduce power consumption by utilizing the video chip for these clustering and indexing operations. Our preliminary results show over a 13x performance improvement compared to a baseline 3 GHz Intel Pentium(R) based PC running the same algorithm with an average spec G80 graphics card, the NVIDIA 8600GT. The low cost of these video cards (less than $100 market price as of 2008), and the high performance gains suggest that our approach is both practical and economical for common applications.

[1]  J. MacQueen Some methods for classification and analysis of multivariate observations , 1967 .

[2]  Joshua Zhexue Huang,et al.  A Fast Clustering Algorithm to Cluster Very Large Categorical Data Sets in Data Mining , 1997, DMKD.

[3]  Alan M. Frieze,et al.  Clustering in large graphs and matrices , 1999, SODA '99.

[4]  Barak A. Pearlmutter,et al.  Detecting intrusions using system calls: alternative data models , 1999, Proceedings of the 1999 IEEE Symposium on Security and Privacy (Cat. No.99CB36344).

[5]  Oren Etzioni,et al.  Grouper: A Dynamic Clustering Interface to Web Search Results , 1999, Comput. Networks.

[6]  Mohammed J. Zaki,et al.  ADMIT: anomaly-based data mining for intrusions , 2002, KDD.

[7]  Wei-Ying Ma,et al.  Learning to cluster web search results , 2004, SIGIR '04.

[8]  Minoru Sasaki,et al.  Spam detection using text clustering , 2005, 2005 International Conference on Cyberworlds (CW'05).

[9]  Arnold P. Boedihardjo,et al.  Exploiting efficient data mining techniques to enhance intrusion detection systems , 2005, IRI -2005 IEEE International Conference on Information Reuse and Integration, Conf, 2005..

[10]  Marina Meila,et al.  The uniqueness of a good optimum for K-means , 2006, ICML.

[11]  Sergei Vassilvitskii,et al.  How slow is the k-means method? , 2006, SCG '06.

[12]  K. alik An efficient k'-means clustering algorithm , 2008 .