1. A method for data transfer in a data processing system, comprising: receiving by the data processing system information relating to a data structure to be transferred, wherein the data structure comprises a tree structure and includes a plurality of elements where each element is a node in the tree structure and is linked to at least one other element; selecting by the data processing system a group of elements from the plurality of elements, the group including at most a predetermined maximum number of elements, the unselected elements in the plurality of elements being remaining elements which are associated with a plurality of root nodes, and wherein the group of elements is selected by one of a breadth-first and a depth-first traversal of the tree structure; transferring by the data processing system the group of elements to a destination; assigning, by the data processing system, the remaining elements to a predetermined number of substructures, including assigning the plurality of root nodes to the substructures, wherein the predetermined number of substructures correspond to a dispersion rate, wherein the predetermined number of substructures comprising the remaining elements are not limited by the predetermined maximum number of elements in the group of elements, and wherein at least one substructure is assigned at least two elements directly linked to one or more elements in the group of elements; and recursively performing the steps of selecting, transferring and assigning concurrently on each of the predetermined number of substructures until all elements have been transferred, wherein the substructures are transferred in a number of parallel transfer processes corresponding to the dispersion rate.