Really the only way to run simulations on a multi-node cluster is to use MPI. And you don't distribute data because that would mean it would start out in one place. With MPI everything is distributed all the time, including being created distributed.
It also means you don't create one global array: in your case you have 120 processes that each can store a ...
If the number of clusters is known (like here)
You may use Lloyd's clustering 
The idea is as follows:
it optimizes a set of cluster centers $p_i$:
Initialize the p_i's with an initial guess, or randomly
For each iteration:
Compute the cluster associated with each p_i,
(the cluster is the set of points nearer to p_i than to the other p_j's)