Implementation Of Automatic Clustering In Parallel Computation With Multi-Threading And Socket Programming
Miftahun Najat, Ali Ridho Barakbah, Mu'arifin · 2020
Often in conducting clustering we cannot determine the optimal number of clusters for clustering. Therefore Automatic Clustering algorithm is used to determine the optimal number of clusters in a dataset. One method of Automatic Clustering is Valley Tracing. But now the complexity that is generally owned by the clustering algorithm is O (n3). So the amount of data compared to computation time is cubic. This makes the clustering process very long when we add large amounts of data. In this study we propose a new approach by utilizing Parallel Computing with the Socket Programming and Multi-Threading methods. With parallel computing, the computing process can be done faster because the computing process is carried out on several computers simultaneously. This approach has 4 main features for solving problems. The first feature is Addressing to connect the Socket contained on the server with the client. The second feature is Active Status Detection for which clients are active and also busy when assigning tasks. The third feature of Task Management aims to manage existing Tasks on the server computer. The fourth feature is the Task Pool for combining the results of calculations from the client to the server computer for further calculations. The results of experiments in this study, using 3 computers connected to each other showed an increase in computing performance by 62%.