1. A method for reducing data transfer amongst a plurality of computing devices in a distributed computing environment, the method implemented by one or more processors and comprising: defining, for multiple arrays utilized in a program at run-time, a plurality of array partitions used by a set of tasks of the program at run-time; assigning one or more tasks, in the set of tasks, to each of the plurality of computing devices of the distributed computing environment to perform the one or more tasks, the one or more tasks including implementing an objective to reduce data transfer amongst the plurality of computing devices; determining two or more array partitions accessed or modified by the one or more tasks during run-time of the program; locating the two or more array partitions on a first computing device of the plurality of computing devices during the run-time of the program; wherein implementing the objective includes: determining at least one of the set of tasks that require use of the one or more array partitions when the one or more array partitions are updated;  and sending a notification to the plurality of computing devices indicating that the one or more array partitions have been updated to cause the plurality of computing devices to implement the updated one or more array partitions by performance of the at least one of the set of tasks, so that performance of the at least one of the set of tasks utilizes the one or more array partitions after being updated.