1. An apparatus for executing a collective operation algorithm in a parallel computer, the parallel computer comprising a plurality of compute nodes, the compute nodes coupled for data communications by one or more data communications networks, the compute nodes organized in an operational group for collective operations, the apparatus comprising a computer processor and computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of: determining, by a compute node of an operational group, a required number of participants for execution of a collective operation algorithm; determining, by the compute node, a number of contributing nodes having data to participate in the algorithm; calculating, by the compute node, a number of ghost nodes to participate in the algorithm, wherein the number of ghost nodes being the required number of participants minus the number of contributing nodes having data to participate; selecting, by the compute node, the collective operation algorithm based on the calculated number of ghost nodes; selecting from a plurality of ghost nodes, by the compute node, the calculated number of ghost nodes for participation in the execution of the algorithm, wherein selecting the calculated number of ghost nodes comprises: determining, by the compute node, based on properties of the selected collective operation algorithm and rank of contributing nodes, to involve a subset of ghost nodes from the plurality of ghost nodes corresponding to one or more of the contributing nodes; and executing the algorithm with both the selected ghost nodes and the one or more contributing nodes.