ParaKMeans: Implementation of a parallelized K-means algorithm suitable for general laboratory use

Piotr Kraj, Ashok Kumar Sharma, Nikhil Garge, Robert Podolsky, Richard A McIndoe

Research output: Contribution to journalArticle

20 Citations (Scopus)

Abstract

Background: During the last decade, the use of microarrays to assess the transcriptome of many biological systems has generated an enormous amount of data. A common technique used to organize and analyze microarray data is to perform cluster analysis. While many clustering algorithms have been developed, they all suffer a significant decrease in computational performance as the size of the dataset being analyzed becomes very large. For example, clustering 10000 genes from an experiment containing 200 microarrays can be quite time consuming and challenging on a desktop PC. One solution to the scalability problem of clustering algorithms is to distribute or parallelize the algorithm across multiple computers. Results: The software described in this paper is a high performance multithreaded application that implements a parallelized version of the K-means Clustering algorithm. Most parallel processing applications are not accessible to the general public and require specialized software libraries (e.g. MPI) and specialized hardware configurations. The parallel nature of the application comes from the use of a web service to perform the distance calculations and cluster assignments. Here we show our parallel implementation provides significant performance gains over a wide range of datasets using as little as seven nodes. The software was written in C# and was designed in a modular fashion to provide both deployment flexibility as well as flexibility in the user interface. Conclusion: ParaKMeans was designed to provide the general scientific community with an easy and manageable client-server application that can be installed on a wide variety of Windows operating systems.

Original languageEnglish (US)
Article number200
JournalBMC Bioinformatics
Volume9
DOIs
StatePublished - Apr 16 2008

Fingerprint

K-means Algorithm
Cluster Analysis
Microarrays
Clustering algorithms
Clustering Algorithm
Microarray
Software
Flexibility
Windows operating system
K-means Clustering
Client/server
Cluster analysis
Biological systems
Parallel Implementation
Parallel Processing
Microarray Data
Operating Systems
Biological Systems
Web services
User Interface

ASJC Scopus subject areas

  • Medicine(all)
  • Structural Biology
  • Applied Mathematics

Cite this

ParaKMeans : Implementation of a parallelized K-means algorithm suitable for general laboratory use. / Kraj, Piotr; Sharma, Ashok Kumar; Garge, Nikhil; Podolsky, Robert; McIndoe, Richard A.

In: BMC Bioinformatics, Vol. 9, 200, 16.04.2008.

Research output: Contribution to journalArticle

@article{f37dc4570c4b48c8891049e702d9b023,
title = "ParaKMeans: Implementation of a parallelized K-means algorithm suitable for general laboratory use",
abstract = "Background: During the last decade, the use of microarrays to assess the transcriptome of many biological systems has generated an enormous amount of data. A common technique used to organize and analyze microarray data is to perform cluster analysis. While many clustering algorithms have been developed, they all suffer a significant decrease in computational performance as the size of the dataset being analyzed becomes very large. For example, clustering 10000 genes from an experiment containing 200 microarrays can be quite time consuming and challenging on a desktop PC. One solution to the scalability problem of clustering algorithms is to distribute or parallelize the algorithm across multiple computers. Results: The software described in this paper is a high performance multithreaded application that implements a parallelized version of the K-means Clustering algorithm. Most parallel processing applications are not accessible to the general public and require specialized software libraries (e.g. MPI) and specialized hardware configurations. The parallel nature of the application comes from the use of a web service to perform the distance calculations and cluster assignments. Here we show our parallel implementation provides significant performance gains over a wide range of datasets using as little as seven nodes. The software was written in C# and was designed in a modular fashion to provide both deployment flexibility as well as flexibility in the user interface. Conclusion: ParaKMeans was designed to provide the general scientific community with an easy and manageable client-server application that can be installed on a wide variety of Windows operating systems.",
author = "Piotr Kraj and Sharma, {Ashok Kumar} and Nikhil Garge and Robert Podolsky and McIndoe, {Richard A}",
year = "2008",
month = "4",
day = "16",
doi = "10.1186/1471-2105-9-200",
language = "English (US)",
volume = "9",
journal = "BMC Bioinformatics",
issn = "1471-2105",
publisher = "BioMed Central",

}

TY - JOUR

T1 - ParaKMeans

T2 - Implementation of a parallelized K-means algorithm suitable for general laboratory use

AU - Kraj, Piotr

AU - Sharma, Ashok Kumar

AU - Garge, Nikhil

AU - Podolsky, Robert

AU - McIndoe, Richard A

PY - 2008/4/16

Y1 - 2008/4/16

N2 - Background: During the last decade, the use of microarrays to assess the transcriptome of many biological systems has generated an enormous amount of data. A common technique used to organize and analyze microarray data is to perform cluster analysis. While many clustering algorithms have been developed, they all suffer a significant decrease in computational performance as the size of the dataset being analyzed becomes very large. For example, clustering 10000 genes from an experiment containing 200 microarrays can be quite time consuming and challenging on a desktop PC. One solution to the scalability problem of clustering algorithms is to distribute or parallelize the algorithm across multiple computers. Results: The software described in this paper is a high performance multithreaded application that implements a parallelized version of the K-means Clustering algorithm. Most parallel processing applications are not accessible to the general public and require specialized software libraries (e.g. MPI) and specialized hardware configurations. The parallel nature of the application comes from the use of a web service to perform the distance calculations and cluster assignments. Here we show our parallel implementation provides significant performance gains over a wide range of datasets using as little as seven nodes. The software was written in C# and was designed in a modular fashion to provide both deployment flexibility as well as flexibility in the user interface. Conclusion: ParaKMeans was designed to provide the general scientific community with an easy and manageable client-server application that can be installed on a wide variety of Windows operating systems.

AB - Background: During the last decade, the use of microarrays to assess the transcriptome of many biological systems has generated an enormous amount of data. A common technique used to organize and analyze microarray data is to perform cluster analysis. While many clustering algorithms have been developed, they all suffer a significant decrease in computational performance as the size of the dataset being analyzed becomes very large. For example, clustering 10000 genes from an experiment containing 200 microarrays can be quite time consuming and challenging on a desktop PC. One solution to the scalability problem of clustering algorithms is to distribute or parallelize the algorithm across multiple computers. Results: The software described in this paper is a high performance multithreaded application that implements a parallelized version of the K-means Clustering algorithm. Most parallel processing applications are not accessible to the general public and require specialized software libraries (e.g. MPI) and specialized hardware configurations. The parallel nature of the application comes from the use of a web service to perform the distance calculations and cluster assignments. Here we show our parallel implementation provides significant performance gains over a wide range of datasets using as little as seven nodes. The software was written in C# and was designed in a modular fashion to provide both deployment flexibility as well as flexibility in the user interface. Conclusion: ParaKMeans was designed to provide the general scientific community with an easy and manageable client-server application that can be installed on a wide variety of Windows operating systems.

UR - http://www.scopus.com/inward/record.url?scp=42949144951&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=42949144951&partnerID=8YFLogxK

U2 - 10.1186/1471-2105-9-200

DO - 10.1186/1471-2105-9-200

M3 - Article

C2 - 18416829

AN - SCOPUS:42949144951

VL - 9

JO - BMC Bioinformatics

JF - BMC Bioinformatics

SN - 1471-2105

M1 - 200

ER -