1. A method for managing data loads on a cluster of processors that implement an iterative procedure through parallel processing of data for the procedure, the method comprising: for at least one iteration of the procedure, monitoring completion times of a plurality of different processing phases that are undergone by each of the processors in a given iteration of the at least one iteration; determining whether a load imbalance factor threshold is exceeded in the given iteration based on the completion times for the given iteration; repartitioning the data by reassigning the data to the processors based on predicted dependencies between assigned data units of the data and completion times of a plurality of the processers for at least two of the phases; and implementing the parallel processing on the cluster of processors in accordance with the reassigning.