K-Means Clustering can cluster data into a predefined number of groups (\(k\) ). At the beginning, \(k\)  cluster centers are randomly initialized [1]}. The algorithm computes the distance between each data-point and the cluster-centers and assigns data-points to the cluster whose center is closest to it. The cluster centers are then recomputed as the mean of the data-points belonging to that cluster. The process is repeated for a predefined number of steps or until cluster centers do not change significantly.
The K-Means Clustering is simple, fast, and its time complexity is \(O(n)\) .
Fig. REF  illustrates the results of applying K-Means clustering algorithm on the Slack values of a \(16\times 16\)  Systolic Array for 3, 4 and 5 clusters.
<FIGURE>