1. A method of partitioning a workload among a plurality of processing nodes of multiple types, wherein different types of processing nodes have distinct processing capabilities, the method comprising: in a first processing node of the plurality of processing nodes: creating a matrix of expected resource usages for processing data partitions of various sizes on processing nodes of the multiple types, the matrix comprising an estimate of, for each type of processing node, resource usage for processing each data partition size in a set of data partition sizes, wherein the matrix comprises expected amounts of energy consumed when processing the data partitions of the various sizes on the processing nodes of the multiple types; responsive to a command, partitioning data associated with the command among the plurality of processing nodes based at least in part on the distinct processing capabilities of the multiple types of processing nodes as represented by the matrix; and assigning the partitioned data to respective types of processing nodes in the plurality of processing nodes for processing by the respective types of processing nodes.