1. A computer system comprising a processor for executing program instructions coupled to a memory for storing the program instructions, wherein the program instructions are program instructions for assigning a plurality of resource consumers to groups of computing or communications resources, and wherein the program instructions comprise: program instructions for first determining resource requirement vectors corresponding to the plurality of resource consumers, wherein the resource vectors contain values specifying resource amounts for multiple types of required resources for the corresponding resource consumer; and program instructions for assigning the resource consumers to corresponding ones of the groups of computing or communication resources by executing program instructions implementing a bin-packing algorithm that recursively explores partial solutions for assigning the resource consumers to individual ones of the groups of computing or communication resources in order to satisfy the resource requirement vectors for the plurality of resource consumers, wherein the bin-packing algorithm extends the partial solutions via nested recursion that descends via repetitive invocations of the bin-packing algorithm from within the bin-packing algorithm, wherein the nested recursion descends until the requirements in the resource requirement vectors are met by assignment of individual groups of the resources that are sufficient to satisfy the resource amounts for the multiple types specified in a corresponding resource requirement vector, wherein the bin-packing algorithm tests resource requirements vectors for remaining unassigned ones of the resource consumers for both assignment and non-assignment to a current individual group of computing or communications resources in a current partial solution until the current partial solution becomes a complete solution that satisfies the requirement vectors for the plurality of resource consumers.