1. A method using for performing a scatter-type data distribution among a cluster of computational devices, the method comprising: receiving a value T indicating a number of time steps; receiving a value Cg indicating a number of tree generator channels, each generating a root of a respective tree structure; receiving a value Ct indicating a number of communication channels per node in each said tree structure; initially generating Cg nodes, each connected to an initial generator, to create respective initial root nodes of an initial tree structure; transmitting data, from the initial generator to each of the initial root nodes; (a) generating Cg root nodes, each connected to a respective new generator, to create respective roots of Cg newly generated tree structures; (b) expanding each of the tree structures by generating Ct new nodes connected to each said node generated in each previous step; (c) transmitting data, to each of the new nodes from an immediately preceding one of the nodes, and from each said new generator to an associated said root node; and repeating steps (a) through (c) T−1 times; wherein each of the nodes comprises one of the computational devices.