In this paper, we develop a scalable algorithm for solving resource allocation problems on large datasets. The algorithm is based on the deterministic annealing (DA) algorithm presented in . The capability of the DA algorithm to identify clusters at successive iteration steps is exploited to truncate certain large computations in the algorithm. These truncations are obtained by recursively grouping the clusters into appropriate groups and running the DA algorithm, in parallel, on the groups. This paper develops a notion of interaction between groups which is used to measure the deviation of this algorithm from the DA algorithm. Simulations are presented that show significant improvements in the computational time while keeping the error in resource allocations within prespecified tolerance limits.