1. A method, in a data processing system, for performing a collective operation to distribute or collect data among a plurality of participant nodes, the method comprising: receiving, in a collective acceleration unit, an input collective packet for a collective operation from a neighbor node within a collective tree, wherein the input collective packet comprises a tree identifier and an input data field and wherein the collective tree comprises a plurality of sub trees; mapping, by the collective acceleration unit, the tree identifier to an index, wherein the index identifies a portion of resources within the collective acceleration unit and is associated with a set of neighbor nodes in a given sub tree within the collective tree, and wherein for each neighbor node the collective acceleration unit stores destination information; and performing, by the collective acceleration unit, an operation on the input data field using the portion of resources to effect the collective operation.