Clustering is one of the ways to classify and segregate data into clusters or groups based on the similarity between them. But this process can be a very time consuming task. The goal is to reduce the time taken for computation and keep the performance of the algorithm consistent. To achieve this, we parallelize the algorithm such that various independent segments can run concurrently and hence reduce the execution time while giving the same performance.