1. A method of distributing a file from a first node to a plurality of recipient nodes, the method comprising: partitioning a file F into a plurality of subfiles; performing distribution of said file F to a plurality of recipient nodes using a distribution technique that comprises (a) attempting to distribute the plurality of subfiles from a first node to a first group of recipient nodes, wherein the first node attempts to communicate at least one subfile to each recipient node of said first group but not all of said plurality of subfiles to any recipient node of said first group, and (b) said plurality of recipient nodes of said first group attempting to exchange the respective subfiles received from said first node, wherein at least one recipient node of said first group begins communicating a portion of a given subfile of the respective subfiles that said at least one recipient is receiving from the first node to at least one other recipient node of said first group before said at least one recipient node fully receives the given subfile; detecting a failed node of said plurality of recipient nodes; and said distribution technique to distribute all of the subfiles of said file F to each non-failed node of said plurality of recipient nodes.