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, the data structure including a plurality of elements where each element 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; transferring by the data processing system the group of elements to a destination; assigning by the data processing system the elements of the plurality of elements not in the group of elements to one or more substructures, where at least one substructure is assigned at least two elements directly linked to one or more elements in the group; and recursively performing the steps of selecting, transferring and assigning concurrently on each of the one or more substructures until all elements have been transferred.