Skip to main content
Figure 1 | BMC Bioinformatics

Figure 1

From: A highly efficient multi-core algorithm for clustering extremely large datasets

Figure 1

Basic design of the multicore k-means algorithm. The data is split and implicitly assigned to different threads (left). Additional threads are used for centroid update (one thread for every centroid). Centroids are initialized randomly. During the cluster assignment step the nearest centroid for each data point is searched and is updated accordingly. Additionally, each data point is written to the list of members of its nearest centroid (right). Simultaneous write access to these lists is possible via software transactional memory.

Back to article page