1. A method of balancing a data processing load among a plurality of compute nodes in a parallel computer, the method comprising: partitioning application data for processing on the plurality of compute nodes into data chunks; receiving, by each compute node, at least one of the data chunks for processing; estimating, by each compute node, processing time involved in processing the data chunks received by that compute node for processing, including measuring, by each compute node, randomness of data in the data chunks received by that compute node, wherein the randomness of data in the same dataset is determined by the compression ration when compressing the sample dataset using a lossless data compression algorithm; and redistributing, by at least one of the compute nodes to at least one of the other compute nodes, a portion of the data chunks received by that compute node in dependence upon the processing time estimated by that compute node.